Refactor classes to allow dotfile functionality to be inherited by subclasses