implementation of Node.js EventEmmiter. and KVO.