Perhaps we should consider a further method on `MessageBuilderFactory`...

    Message<?> createSimpleMessage(Object payload, Map<String, Object> headers);

...which side-steps the builder.

(but then we'd have to call it something else because it either returns a builder or a message).