Use structs for all channels between modules