Do we have to manually generate these structs? Shouldn't the protobuff lib do that for us? As it stands if the proto changes we now have to change the structs, function prototypes for API on those structs and implementations for those functions. That's 3 places.