well, all tasks used references and it makes sense because ship may not never be nullptr which would otherwise require an assertion. I don't see to much value in references as well but we at some point decided to use them as we see fit. If not in this case, in which then?