Move unit event generation into fleet

Big step towards #638 
Docstring would be nice