Refactor: Push state out
Refactor: killing some state
Refactor: better flow