Some refactoring to increase code shared between classes and hide helper methods as "private"