Several classes & tests were refactored according to observations posted
to the request