What state changes is this method causing? It's hard to tell what is going to get mutated