public function createInstance(Binding $binding, InjectionPointInterface $point = NULL)
	{
		switch($binding->getOptions() & BindingInterface::MASK_TYPE)
		{
			case BindingInterface::TYPE_ALIAS:
				return $this->get($binding->getTarget(), $point);
			case BindingInterface::TYPE_FACTORY:
			case BindingInterface::TYPE_FACTORY_ALIAS:
				return $this->createObjectUsingFactory($binding, $point);
			default:
				return $this->createObject(
					$binding->getTarget(),
					$binding->getResolvers(),
					$binding->getInitializers(),
					$binding->getMarkers(SetterInjection::class)
				);
		}
	}