implement message composition and queueing in a way that does not crash or lose events or get confused
implement the same good processing for controller and fix MM related crashes and warnings