Provides a simple abstraction over streams of data