Refactor in prep for some more complex features!