code: function notifyIsolated(self,cb,chain) {
  		var ret, _then;
  		try {
  			if (cb === false) {
  				chain.reject(self.msg);
  			}
  			else {
  				if (cb === true) {
  					ret = self.msg;
  				}
  				else {
  					ret = cb.call(void 0,self.msg);
  				}
  
  				if (ret === chain.promise) {
  					chain.reject(TypeError("Promise-chain cycle"));
  				}
  				else if (_then = isThenable(ret)) {
  					_then.call(ret,chain.resolve,chain.reject);
  				}
  				else {
  					chain.resolve(ret);
  				}
  			}
  		}
  		catch (err) {
  			chain.reject(err);
  		}
  	}
docs: NOTE: This is a separate function to isolate the `try..catch` so that other code can be optimized better