I'm really thankful for `listen` here. it makes this sort of logic super easy without having to add class fields.