final public static function byName($name)
    {
        $instances = &static::getInstances();

        if (!array_key_exists($name, $instances)) {
            $instances[$name] = new static($name);
        }

        return $instances[$name];
    }