Allow more complex job types by using blocks