protected static function createEnvInstance(string $alias)
    {
        ## find alias names: dev->development ==> class_name
        $EnvClass = null;
        while(is_string($alias) && isset(static::$_aliases[$alias]))
            $EnvClass = $alias = static::$_aliases[$alias];

        if (is_string($EnvClass) && class_exists($EnvClass))
            $EnvClass = new $EnvClass();


        if (! $EnvClass instanceof EnvBase)
            throw new \Exception(sprintf(
                'Invalid Alias name provided. "%s".'
                , (is_callable($aliasOrCallable))
                ? \Poirot\Std\flatten($alias).' provided from Callable'
                : \Poirot\Std\flatten($alias)
            ));
        
        return $EnvClass;
    }