updates to psr2 standard, updates to use base emitter, added interface IBaseEmitter