Refactor profile to be independant of logic by removing unused methods and pulling used out into helper methods.