public ConditionListener(BaseObject source, BaseObject target, ICondition condition) : base(target) { _object = source; _condition = condition; _state = condition.GetListenedState(target); if (_state != null) { _state.OnStateChangedHandler += ObjectOnConditionStateUpdated; } }