public void OnDecollect(CollectableEvent colEvent)
    {
        GameObject collectable = colEvent.collectable;

        DecollectCollectable(collectable);
        GUIMan.UpdateCollectedMolecules(Flatten(collected));
    }
    public void OnCollect(CollectableEvent colEvent)
    {
        GameObject collectable = colEvent.collectable;

        CollectCollectable(collectable);
        ArrayList flatCollected = Flatten(collected);

        if (flatCollected.Count == Flatten(collectables).Count)
        {
            ChangeWinState();
            EndLevel();
        }
        GUIMan.UpdateCollectedMolecules(flatCollected);
    }