I wonder if these two cases are really so similar that they should be put in the same method.  In particular, in the case when we subscribe to changes to all tasks, are we sure we only want to subscribe to all future tasks? We may want to get all past changes as well (e.g., the very first global scheduler needs to get anything that is already in Redis). 