ivory-tower-freertos: ChannelQueue and SharedState primitives hide behind defs