Currently for each new data container we do something like this:
struct FooData {
type field1;
type field2;
}
struct FooMessage {
char ID[4];
uint8_t timestamp[6];
uint16_t length;
struct FooData data;
}
Instead we should have a single struct for the header and then either have struct FooMessage be a combination of the two structs, or have FooData be expanded inside FooMessage, or something.