Consistent message ordering - fixes 126

Fixes #126.
Hmm recursion.  I guess that's what it did before.  I wonder why this is easier than doing all the processing in one pass but maybe this isn't really a review comment for this issue.