title: How can I filter messages with Rebus?
body: <p>Each message the handler receives contains the entire state of the aggregate root. The system is then able to perform the required operations based on this data. In my scenario grant access based on the data in the message e.g. access to room A &amp; B. A message contains the entire set of granted access.
  These messages might arrive out-of-order, as messaging systems like MSMQ does not guarantee ordered delivery.</p>
  
  <p>A scenario where message #1 grants access to room A &amp; B, but the message #2 only grants access to room A. If they arrive out-of-order, then access is granted to room A, and the later on to room A &amp; B. This is not the desired outcome. Only access to room A should be granted.
  Each message contains a timestamp, which is set when published. I would like to use this timestamp to remove <em>old</em> messages that arrive out-of-order e.g. if message #2 arrives before message #1, then message 1# should be discarded.</p>
  
  <p>I could implement this filter in each handler method, but that would be tedious, so I am hoping that Rebus has something along the line of <a href="http://www.enterpriseintegrationpatterns.com/Filter.html" rel="nofollow">EAI Message Filters</a>?</p>
  
  <p>I'm open for other options/implementations?</p>