Reworked APIMessage and subclasses to be more sanee