this should also take a KRun as a constructor arg. That way the obtainKRun method can stay private, and you can pass in the old krun object a second time at the call sites for this constructor.