mixed in EventsEmitter to Program