public bool RemoveStateFinishedCallback(StateFinishedCallback callback, object userData)
    {
        StateFinishedListener item = new StateFinishedListener();

        item.SetCallback(callback);
        item.SetUserData(userData);
        return(this.m_stateFinishedListeners.Remove(item));
    }
    public void AddStateFinishedCallback(StateFinishedCallback callback, object userData)
    {
        StateFinishedListener item = new StateFinishedListener();

        item.SetCallback(callback);
        item.SetUserData(userData);
        if (!this.m_stateFinishedListeners.Contains(item))
        {
            this.m_stateFinishedListeners.Add(item);
        }
    }