Idea for pull request refactoring

 This is just some initial work to give some ideas of what I am thinking.