WIP

Signed-off-by: Gordon Smith <gordon.smith@lexisnexis.com>
WIP

Signed-off-by: Gordon Smith <gordon.smith@lexisnexis.com>
WIP

Signed-off-by: Gordon Smith <gordon.smith@lexisnexis.com>
Refactored back into single class.

Signed-off-by: Gordon Smith <gordon.smith@lexisnexis.com>