Added docblocks and made protected methods private