Abstraction.. I guess. Note to self: Round responsibility needs revisiting