Refactoring for better object orientation. Completing JavaDoc thus far.