Also, i think doing a `if not counts_need_update` is better than `is None` since we can also use other false-y values such as `False` and `[]`.