public void Subscribe(string eventId, IStateObject component, ILogic logic, string methodName)
        {
            var type   = logic.GetType();
            var method = type.Method(methodName, BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic | Flags.ExcludeBackingMembers);

            RegisterMethodForEvent(logic, method, component.ToString(), eventId, component);
        }