Adds config specs and implementation
Use new config laylout
Adds config and moves error into state
Move all error handling into state class
Adds binary