Took out the CRTP of the state traversal algorithm because it massively slowed down the app!