prevent execution/failure of obsolete callbacks

callback() can modifie callbacks[keypath]
This will lead to an exception when callbacks unsubscribe other callbacks.
demo: http://jsfiddle.net/hpUTB/