Refactored job logging to use an abstract base properties class.