A status panel, which displays the current (or most recent) task, will need us to track the name of a task when it starts. To accurately display which task is still running, we'll also need to track which task ends (otherwise a quick task that starts after a long running one and then stops won't correctly update the status display).
An example implementation would be for the appropriate start function to return a task reference, which is then stopped directly, for example, task := StartTask("My task name"), which is then stopped later using task.Stop(). A similar listener or channel would be needed, but this time the data would be a task reference instead of the count of background tasks.