started refactoring internal storage structure to be the same as nodejs EventEmitter