private GameObject instance_InstantiateAbility(e_AbilityType _ability, Organism _org)     // var Context ?
    {
        List <GameObject> correspondingPrefabs = (from prefab in this.abilityPrefabs where prefab.GetComponent <Ability>().Type == _ability select prefab).ToList();

        if (correspondingPrefabs.Count < 1)
        {
            Debug.LogError("Ability Type : \"" + _ability.ToString() + "\" not found in TheSkillManager.\n" +
                           "Please ensure present is referenced in the List");

            return(null);
        }

        GameObject abilityPrefab = correspondingPrefabs[0];

        GameObject abilityCreated = Instantiate(abilityPrefab, this.transform);

        abilityCreated.GetComponent <Skill>().Init(_org);

        return(abilityCreated);
    }
    // --------------------------------
    // Singleton static functions

    public static GameObject InstantiateAbility(e_AbilityType _ability, Organism _org)
    {
        return(Instance.instance_InstantiateAbility(_ability, _org));
    }