We should move `ThrashingDataSource` from the Example project into the framework itself and use it to power unit tests.