common code for building inherited subdirectives

    workload and phases are first instansiated from base
    specs and the way they are updated is quite similar
    using the defns from test spec so this logic has been
    refactored.