linear approval workflow support

Ok, finally coming up for air. Going to do some manual testing, but would love some feedback on the code :sweat_smile: 
What combination of the following do you like best?

* `new`
* `create`
* `instance`
* `dispatcher`
* `subclass`