public static function generate( $hashLength = self::MAX_HASH_LENGTH, $hashSeed = self::All )
    {
        //	If we ain't got what you're looking for, return simple md5 hash...
        if ( !isset( static::$_hashSeeds, static::$_hashSeeds[$hashSeed] ) || !is_array( static::$_hashSeeds[$hashSeed] ) )
        {
            return md5( time() . mt_rand() . time() );
        }

        //	Randomly pick elements from the array of seeds
        for ( $_i = 0, $_hash = null, $_size = count( static::$_hashSeeds[$hashSeed] ) - 1; $_i < $hashLength; $_i++ )
        {
            $_hash .= static::$_hashSeeds[$hashSeed][mt_rand( 0, $_size )];
        }

        return $_hash;
    }