I'd say that it is an encapsulation of concrate `MessageBuilderFactory` implementation and everything should be done in the `fromMessage`