Sometimes a shape may not have a stage associated with it? I was hitting this in our app. I also cleaned up the event types a bit and added the pointer methods to Stage to be consistent with the other types