I was thinking further about this while biking in and came to the same conclusion. In addition, there is a need for the ``Workflow`` to have additional state at times, such as knowing the what nucleotide barcodes are associated with what sample, which is why ``Workflow.__init__`` takes ``**kwargs`` and injects those items into ``self``. Will reevaluate