public virtual void Send(IModelSend senderModel) { if (CurrentRecieveStatus == EControllerStatus.Processing) { return; } var contact = ContactCreator.CreateContact(senderModel); contact.Reciever = this; var processingModel = new DataModelMock { ControllerStatus = EControllerStatus.Processing }; CurrentRecieveStatus = processingModel.ControllerStatus; OnRecieveModel?.Invoke(processingModel); contact.Sender.Send(senderModel); }