I think it would be better to have EmitterWrapper not to inherit Emitter. This only gives you fake API which does not work as expected (calling anything but the methods you defined would call that on the wrapper, not wrapped emitter).