This class is used to refer to a source step. The source step of another step
is sometimes given as a definite step, and sometimes as the result step of an
execution block. However, during execution plan construction, not all
execution blocks have a result step yet. So, this class defers the
initialization of source until it is needed