You do this here, but then also call `self.recursiveSubscribeChanges`. Then that would hit the else statement and subscribe again. Shouldn't you just do the recursive call and take care of the subscription in the else?