private IDictionary DeconstructObjectMultiThreaded(string toDeconstruct, iGameObjectDAO dao)
    {
        Dictionary <string, System.Object> defaultDict = dao.LoadDefault();
        List <string> keys = new List <string>();

        keys.AddRange(defaultDict.Keys);

        IDictionary shell = ControllerShell.Container[toDeconstruct] as IDictionary;

        for (int i = 0; i < keys.Count; i++)
        {
            string tag  = toDeconstruct.Split('-')[0];
            string Ctrl = ObjectFactoryHelper.DetermineControllerDestroyMultiThreaded(keys[i], tag);

            defaultDict[keys[i]] = (shell[Ctrl] as ISetGetValues).GetValues();
        }
        return(defaultDict);
    }
    private IDictionary DeconstructObject(GameObject toDeconstruct, iGameObjectDAO dao)
    {
        Dictionary <string, System.Object> defaultDict = dao.LoadDefault();
        List <string> keys = new List <string>();

        keys.AddRange(defaultDict.Keys);

        for (int i = 0; i < keys.Count; i++)
        {
            //string Ctrl = keys[i] + "Controller";
            string Ctrl = ObjectFactoryHelper.DetermineControllerDestroy(keys[i], toDeconstruct);

            defaultDict[keys[i]] = GetFromController(toDeconstruct, Ctrl);

            //Debug.Log(defaultDict[keys[i]]);
        }
        return(defaultDict);
    }