/**
  * {@inheritdoc}
  */
 public function createServiceWithName(ServiceLocatorInterface $serviceLocator, $name, $requestedName)
 {
     // Captura de Configuração
     $config = $serviceLocator->get('Config')['balance_manager']['factories'][$requestedName];
     // Inicialização
     $form = $serviceLocator->get('FormElementManager')->get($config['params']['form']);
     $inputFilter = $serviceLocator->get('InputFilterManager')->get($config['params']['input_filter']);
     $formSearch = $serviceLocator->get('FormElementManager')->get($config['params']['form_search']);
     $inputFilterSearch = $serviceLocator->get('InputFilterManager')->get($config['params']['input_filter_search']);
     $persistence = $serviceLocator->get($config['params']['persistence']);
     // Filtros de Dados
     $form->setInputFilter($inputFilter);
     $formSearch->setInputFilter($inputFilterSearch);
     // Camada de Modelo
     $model = new Model($persistence);
     // Gerenciador de Eventos
     $model->setEventManager($serviceLocator->get('EventManager'));
     // Formulários
     $model->setForm($form);
     $model->setFormSearch($formSearch);
     // Apresentação
     return $model;
 }