The functors now return their output

They can still store it internally and return a reference to it, e.g. to avoid
repeated allocations. Otherwise, we can hope for Return Value Optimisations.
Definitely removed Chilitag and Registrar