/**
  * Create user object
  *
  * @return \Closure
  */
 private function _createUserObject()
 {
     return function (Request $request, Application $app) {
         $user_data = null;
         if (in_array('user', $app->keys())) {
             $user_data = $app['user'];
         }
         /** @var User $user */
         $user = new User();
         if ($request->attributes->has('user_id')) {
             $user->setUserId($request->attributes->get('user_id'));
         }
         if ($user_data) {
             $user->setEmail($user_data['email']);
             $user->setFirstname($user_data['firstname']);
             $user->setLastname($user_data['lastname']);
             $user->setPassword(PasswordHash::hash($user_data['password']));
         }
         $app['user'] = $user;
     };
 }