dsl used by dayjobber to implement arbitrary steps