Implement start, stop and restart methods.

Once we had agreed on the restart logic, the simplest thing to do was to generate the all methods based on that logic.

TODO: Add stop-sleep-start methods.