Consolidated inputs and outputs into a single class

Inputs, outputs and filters seemed like a false distinction, instead
any item can be chained together by just adding it as an input to
the next stage.