refactor such that Messages control their own dispatching
bring back Message#time, seen plugin uses it