private void InvokeInternal(IInvokable message) { if (_isPending) { if (_pendingMessages == null) _pendingMessages = new List<IInvokable>(); _pendingMessages.Add(message); } else { foreach (var observer in _observers) message.Invoke(observer); } }