Adding I/O Aware traits.

- Removing some boilerplate as a consequence;
- Also adding a Error Output Aware interface and the respective trait;