/// <summary> /// Facade Singleton Factory method. This method is thread safe. /// </summary> public static IController GetInstance(string key) { IController result; if (m_instanceMap.TryGetValue(key, out result)) return result; result = new Controller(key); m_instanceMap[key] = result; return result; }