SetSource defined, with some clean-up in reset(). Many TODOs added to tests.