This implementation allows the same Source to be used mutliple times.
Source isn't really pluggable. As a consequence, this implementation is clunky --- weak against unexpected usage of the class. author: Kohsuke Kawaguchi