/** * @param IDefinition $definition * @param $id * @param $value */ protected function processSingletonDefinition(IDefinition $definition, $id, $value) { if ($definition->isSingleton() && !$definition instanceof ValueDefinition) { $newDefinition = new ValueDefinition($id, $value); $this->registry->addDefinition($newDefinition); foreach ($definition->getAliases() as $alias) { $alias->setValue($newDefinition); } } }