Refactored code to follow OOD, Simplicity, Readability, Maintainability etc.

Source code modified to reflect proper encapsulation, string
concatenation, accessors, singleton pattern, variable & method naming,
removed unwanted complexity etc.

JUnit Test cases modified to reflect the refactored code.

All source & test code compiled successfully.
All JUnit test cases ran successfully.