Just to make clear what the "password reset repository was" (in my mind):

```php
interface PasswordResetRepositoryInterface
{
    /** @return PasswordReset|null */
    public function findTokenByEmail($email);
}
```
Impl
```php
class PasswordResetRepository implements PasswordResetRepositoryInterface
{
    public function __construct(ObjectRepository $repository)
    {
        $this->repository = $repository;
    }
    public function findTokenByEmail($email)
    {
        return $this->repository->findBy(array('email' => (string) $email));
    }
}
```

As you can see, no coupling with the ORM, and you can get rid of the ugly class name check you have below