public function __construct(BindingInterface $binding, Configuration $configuration)
{
$this->configuration = $configuration;
$this->binding = $binding;
$this->inflector = $configuration->getInflector();
$this->metadataFactory = $configuration->getMetadataFactory();
$this->cache = $configuration->getCache();
$this->uow = new UnitOfWork($this);
/**
* this must be the last since it will require the Manager to be constructed already.
* TODO fixthis
*/
$this->proxyFactory = new ProxyFactory($this, $configuration->getProxyDirectory(), $configuration->getProxyNamespace(), $configuration->getAutoGenerateProxyClasses());
}