* introduced MessageFactory to delegate message request creation
* removed DNUM constants and created an enum with human-readable names