public ComponentStateChangePayload(T source, ComponentStateType state)
 {
     Source = source;
     State  = state;
 }
        protected virtual void OnStateChanged(ComponentStateType state)
        {
            var target = GetTarget() as Component;

            Messenger.Default.Publish(new ComponentStateChangePayload(target, state));
        }