mixin Emitter & added tests