public function create( $email )
    {
        $store = $this->getCacheStorage();

        do
        {
            $hash = String::generateRandom( self::HASH_LENGTH, null, true );
        }
        while ( $store->hasItem( $hash ) );

        $store->setItem( $hash, $email );
        return $hash;
    }