There are two other issues with this approach:

* If you've already fit preprocessors on the real training set (or any training set) then this is wasteful.
* If you're actually training on a subset of the training set using `start` and `stop` what you really want is the statistics from that, not the statistics of the full training set.

I propose, then, that in addition to the `preprocessor` argument we also add a `preprocessor_from` argument, which takes a dataset and grabs its `preprocessor` argument, and runs it with `can_fit=False` on `self`.