public function registerService($object, $name = NULL)
	{
		if(!is_object($object))
		{
			throw new \InvalidArgumentException(sprintf('Expecting an object, given %s', gettype($object)));
		}
		
		$key = ($name === NULL) ? get_class($object) : (string)$name;
		
		if(isset($this->services[$key]))
		{
			throw new DuplicateServiceRegistrationException(sprintf('Service "%s" is already registered', $key));
		}
		
		$this->services[$key] = $object;
	}