Make all propected properties/methods private except for 'entry points' + Cosmetic changes