Dynamically present either a single message or collection per key.

This allows the library to continue to present a single key message
forward for most cases, but in the case that a single key is overloaded
with multiple messages, then a collection will be presented.