Some of these actions are limited by the power level of the other user.
Serializable types for the events in the Matrix specification that can be shared by client and server code.