Updated test coverage
Validate parameters now that methods are public
Abstracted a base class