Fix nonstandard xvalue to lvalue conversion
Change from shared to unique pointer
Delete missing state.h
Move schema and model to exposed
Separate and rename task model with task builder.
Change to operator overloading