public IObservable <Unit> ReceiveAcknowledgement(Stream stream, Message[] messages)
 {
     return(Observable.FromAsync(() => stream.ReadExpectedBuffer(Constants.AcknowledgedBuffer))
            .Do(acknowledged =>
     {
         if (!acknowledged)
         {
             _store.DeleteIncomingMessages(messages);
         }
         _logger.Debug("Acknowledgement received was " + acknowledged);
     })
            .Where(x => x)
            .Select(x => Unit.Default));
 }