Using Jackson-Databinding to serialize/deserialize message bodies

Given type information embedded into the Message type, Jackson can figure
out how to construct complex object heirarchies.  This works well as long
as your list of subtypes is manageable and known at compile time.
Discovering MessageBody at startup

Defined a @MessageBody, when initializing ObjectMapper populate the set of
known types using reflection instead of having to hardcode a big list of
classes and body values.