Call go on monitor.cancel(), since it does not call itself when no parameters are given. Conceal logic for Monitor in its instance.