protected function unbindContext($object, $terminate = true)
	{
		if(!is_object($object))
		{
			throw new \InvalidArgumentException(sprintf('Expecting an object, given %s', gettype($object)));
		}
	
		if($this->context === $object)
		{
			$this->context = NULL;
			$this->proxies = new \SplObjectStorage();
		}
		
		if($terminate && $this->contextualInstances->offsetExists($object))
		{
			unset($this->contextualInstances[$object]);
		}
	}