public override void Observe()
        {
            _message = new EventMessagesBuilder(_aggregateId).ForIvidStartCallingExternalSourceEvent();
            _consumer = new ExternalSourceExecutedConsumer(_persistEvent);
            _consumer.Consume(_message);

            _streamName = string.Format("{0}-{1}", _message.Category, _aggregateId.ToString("N"));
        }
        public static ExternalSourceExecutedConsumer RgtVinSourceSourceCallEnded(Guid aggregateId, ExternalSourceExecutedConsumer consumer, IPersistAnEvent persistEvent)
        {
            var message = new LaceExternalSourceExecutionEventMessage(aggregateId, LaceEventSource.RgtVin,
                PublishableLaceMessages.EndCallingExternalSource,2);

            if (consumer == null)
                consumer = new ExternalSourceExecutedConsumer(persistEvent);

            consumer.Consume(message);

            return consumer;
        }
        public static ExternalSourceExecutedConsumer IvidTitleHolderCallStarting(Guid aggregateId, ExternalSourceExecutedConsumer consumer, IPersistAnEvent persistEvent)
        {
            var message = new LaceExternalSourceExecutionEventMessage(aggregateId, LaceEventSource.IvidTitleHolder,
                PublishableLaceMessages.StartCallingExternalSource,1);

            if (consumer == null)
                consumer = new ExternalSourceExecutedConsumer(persistEvent);

            consumer.Consume(message);

            return consumer;
        }