public function createService(ServiceLocatorInterface $serviceLocator)
 {
     $options = $serviceLocator->get('goalioforgotpassword_module_options');
     $mapper = new Password();
     $mapper->setDbAdapter($serviceLocator->get('zfcuser_zend_db_adapter'));
     $entityClass = $options->getPasswordEntityClass();
     $mapper->setEntityPrototype(new $entityClass());
     $mapper->setHydrator(new PasswordHydrator());
     return $mapper;
 }
 public function sendProcessForgotRequest($userId, $email)
 {
     //Invalidate all prior request for a new password
     $this->cleanPriorForgotRequests($userId);
     $class = $this->options->getPasswordEntityClass();
     /** @var \GoalioForgotPassword\Entity\Password $model */
     $model = new $class();
     $model->setUserId($userId);
     $model->setRequestTime(new \DateTime('now'));
     $model->generateRequestKey();
     $this->getEventManager()->trigger(__FUNCTION__, $this, array('record' => $model, 'userId' => $userId));
     $this->passwordMapper->persist($model);
     $this->sendForgotEmailMessage($email, $model);
 }
<?php

use GoalioForgotPassword\Mapper\Password;
use GoalioForgotPassword\Options\ModuleOptions;
return array('db' => array('driver' => 'Pdo_Sqlite', 'database' => __DIR__ . '/data/database-test.db'), 'service_manager' => array('aliases' => array('zfcuser_zend_db_adapter' => 'Zend\\Db\\Adapter\\Adapter'), 'invokables' => array('goalioforgotpassword_password_service' => 'GoalioForgotPassword\\Service\\Password'), 'factories' => array('goalioforgotpassword_module_options' => function ($serviceLocator) {
    return new ModuleOptions();
}, 'Zend\\Db\\Adapter\\Adapter' => function ($serviceLocator) {
    return new \Zend\Db\Adapter\Adapter($serviceLocator->get('config')['db']);
}, 'goalioforgotpassword_forgot_form' => 'GoalioForgotPassword\\Form\\Service\\ForgotFactory', 'goalioforgotpassword_reset_form' => 'GoalioForgotPassword\\Form\\Service\\ResetFactory', 'goalioforgotpassword_password_mapper' => function ($serviceLocator) {
    /** @var ModuleOptions $options */
    $options = $serviceLocator->get('goalioforgotpassword_module_options');
    $mapper = new Password();
    $mapper->setDbAdapter($serviceLocator->get('zfcuser_zend_db_adapter'));
    $entityClass = $options->getPasswordEntityClass();
    $mapper->setEntityPrototype(new $entityClass());
    $mapper->setHydrator(new \GoalioForgotPassword\Mapper\PasswordHydrator());
    return $mapper;
})));