Remove Emitter dependency, add init function