First pass
Add interfaces
Add TaskClass.SlotBase
Add SlotWrapper
Finish flow
Add doc
Merge branch 'dflow' into develop