Classes for handling input/output from various data sources and sinks.