initial cut at a new Message API, to support lbbroker2. Very rough, and limited for now.