Event related internal classes only. Use at your own risk as they may be changed/removed at any point.