src/utils/Subscribable.js
function(property, callback) {
		if(typeof property !=  "string") {
			callback = property;
			property = "__all__";
		}
		
		// empty, don't remove anything
		if(!this._subscribers[property]) return;
		
		// remove everything
		if(callback == null) this._subscribers[property] = [];
		
		// find callback and remove it
		var ind = this._subscribers[property].indexOf(callback);
		if(ind >= 0) this._subscribers[property].splice(ind, 1);
	}
function(property, callback) {
		if(typeof property !=  "string") {
			callback = property;
			property = "__all__";
		}
		
		// empty, don't remove anything
		if(!this._subscribers[property]) return;
		
		// remove everything
		if(callback == null) this._subscribers[property] = [];
		
		// find callback and remove it
		var ind = this._subscribers[property].indexOf(callback);
		if(ind >= 0) this._subscribers[property].splice(ind, 1);
	}
Unsubscribe for changes of a property or the whole object