- the constructor is 'just' a special case method, so I've refactored to reflect that, improving readability and simplifying the emitter