public static IApplicationStatus GetStatus(string statusName)
    {
        if (s_status.ContainsKey(statusName))
        {
            return(s_status[statusName]);
        }
        else
        {
            IApplicationStatus statusTmp = (IApplicationStatus)Activator.CreateInstance(Type.GetType(statusName));
            statusTmp.OnCreate();
            s_status.Add(statusName, statusTmp);

            return(statusTmp);
        }
    }
    public static IApplicationStatus CreateStatus(string statusName)
    {
        IApplicationStatus statusTmp = null;

        if (!s_status.ContainsKey(statusName))
        {
            statusTmp = (IApplicationStatus)Activator.CreateInstance(Type.GetType(statusName));
            statusTmp.OnCreate();
            s_status.Add(statusName, statusTmp);
        }
        else
        {
            statusTmp = s_status[statusName];
        }
        return(statusTmp);
    }