I'm converting autobus to use json. Instances will have primitive values encoded as their corresponding javascript counterparts. Maps will be encoded as javascript objects. Lists and other types are encoded somewhat differently: they take the form of a list with two elements. The first one is a string representing the type (which is either "timestamp" or "list" for now), and the second one is a type-specific element (the list of items for a list and a map containing the same keys as the attributes of the old TimestampInstance protobu for a timestamp).

Messages are the same as in protobuf, but they have the Message and SomethingMessage fields merged into the same object, and the object has an additional attibute, action. This attribute's value is something like register_interface. It specifies the action to take, equivalent to the current list of message types present in the protobuf file.