Make 'message' parameter for set_message_data() optional.

In current implementation, the 'message' parameter is mandatory for set_message_data().
IMHO it's too strict.
Error messages can be constructed with 'param' and 'function'.