Representation of an OSC message. Data can be read/written using the explicit Read/Write functions, or the Serialize function / << operator where the behaviour is overloaded based on whether the message was created for reading or writing.