Use internal property names directly
Use `null` extensions for listeners collections
Use type distiction between single listener and coll

It's as easy as that when we assume that each callable is typeof
'function'
Use more unique once listener distinction
-- whitespace
Cleanup logic
Support objects that do not inherit from Object#
No need for hasOwnProperty on internal objects
-- whitespace
Crash on primitives
-- whitespace
Improve validation
Improve pipe algorithm
Do not expose side modules on main one
Cleanup