Extract DSL responsibilities into a ProcessGroup class