Trying to make things not fail hard

also started adding event handling classes
Fleshing out EventListener a bit