You are right on the "patch in" angle. For some reason thought I had made the method virtual when writing that. True the event is public but the first rule of events is that only "their" class can fire them, not even inheritors. I could easily see a game that allows some alternate character input system besides a keyboard that would want to fire this event too.