I guess this is great until there's a bunch of nested mutable state?