complete refactoring of the message system to support React propTypes
docs