public static function register($implementation)
    {
        $object = new $implementation();
        if (!($object instanceof \Phramework\Authentication\IAuthentication)) {
            throw new \Exception(
                'Class is not implementing \Phramework\Authentication\IAuthentication'
            );
        }

        self::$implementations[] = $object;
    }