Changed the way to extend Plugin, partially trimming the need for complex
factories.

Refactored EventEmitter, so that MemoryEventEmitter and UplinkEventEmitter
extend EventEmitter instead of using a clumsy factory wrapper + revealing
pattern.