- Refactored code to encapsulate object state;
- Added javadoc descriptions for all public API;