Committing mid-refactor as milestone. Broken.