remove Message's dependence on Client