Changed tabs for spaces
Changed lib folder for core
Changed once implementation
Added missing this pointer argument
Added when method to eventemitter
Saved original listener when wrapped