Refactoring to reduce the number of pubically accessible methods