Refactor all the things. Inb4 breaks.