Abstract all the things!