as I mentioned above, not returning the steps to do next in done would make the code cleaner, as we wouln't have to ensure that in `done` method, which allows us avoiding unnecessary tap in this case