Move unit event generation into fleet

Big step towards #638 
Sidenote, it would probably be good practice if we actually started codifying one-directional channels