renamed JobInterface to PerformantJobInterface, this is more accurate to what the interface expects