Default values in form of choice

- Use tuples for that.
- Also ensure default value matches expected type.
Generic run method

- Code flows within the runner, which is implementation specific
- Improvements to foreground and debug mode.
Flask runner

- The flask json output is going to be a blueprint
- Implementations can just instantiate the blueprint within an app.