Change IProgressReport to contain a Message of a generic type.

Backward compatible
T -> TMessage