public GreatEagle(string memberName, IMessagePublisher messagePublisher, IMessageSubscriber messageSubscriber, ISerializer serializer, ILocalCacheProvider localCacheProvider, IRemoteCacheProvider remoteCacheProvider, ILogger logger) { _memberName = memberName; _logger = logger; _messagePublisher = messagePublisher; _messageSubscriber = messageSubscriber; _serializer = serializer; _localCacheProvider = localCacheProvider; StartObserving(); _remoteCacheProvider = remoteCacheProvider; _messageSubscriber.OnMessageReceived += MessageSubscriberMessageReceived; _messageSubscriber.StartSubscription(); }