(********** Events Module: hand-written class definitions **********) and eventListener obj = object method as_EventListener = (obj :> TEventListener.t) end