Fixing some mess with the event observers disconnect function(Fixes #667...

...29284)

Removed the use of bind, which made unsubscribing from an event hard.
Other small code cleanup