- modify `Source` superclass so it can take a `input_preprocessing=[]` argument - Each `Preprocessing` class has - `input` : the data source - `get_output_shape()` for method to allow `Source` to figure out the final output shape - `get_output()` - pass input data through this pipeline, and modify n_inputs and seq_length.