[WIP] Refactor to instances

/cc @rylev