Make pluggable framework for message types