be more modular. msgqueue are useful for clients, and commands structs must be readable by anyone.