public virtual void OnCursorPressed( Vector2 cursorPos )
{
// Make a temporary copy of the event to avoid possibility of
// a race condition if the last subscriber unsubscribes
// immediately after the null check and before the event is raised.
CursorPressedHandler handler = CursorPressed;
if ( handler != null )
handler(this, cursorPos );
}