/**
  * {@inheritDoc}
  */
 public function isTokenValid(UserInterface $user, $token, UserRegistrationInterface $record)
 {
     if ($record->getToken() !== $token) {
         $this->getEventManager()->trigger('tokenInvalid', $this, array('user' => $user, 'token' => $token, 'record' => $record));
         return false;
     } elseif ($this->getOptions()->getEnableRequestExpiry() && $this->isTokenExpired($record)) {
         $this->getEventManager()->trigger('tokenExpired', $this, array('user' => $user, 'token' => $token, 'record' => $record));
         return false;
     }
     $this->getEventManager()->trigger('tokenValid', $this, array('user' => $user, 'token' => $token, 'record' => $record));
     return true;
 }