added lots of tests, converted to OO, made configuration loader for file based or config lookup via job URL