Changed the way addObserver function stores object reference.

Changed removeObserver to the newly updated structure.
Changed fireObservers to accept unlimited arguments that can be passed into the object.
Removed bindedEvents object from Node as it was sharing it's values between all Node objects (prototype)
Changed addNObservers to have a parameter for additional data to be passed in.