Tengine::Job::Runtime::Endでparentを参照していた部分がキャッシュを使っていなかったので別のオブジェクトを操作していたので、修正しました。またupdate_with_lockメソッドをロックの単位となりえるTengine::Job::Runtime::NamedVertexに移動しました
Tengine::Job::Runtime::Signal#remember がキャッシュしているオブジェクトを上書きしてしまうことがあったので、既にキャッシュしている場合は上書きせずキャッシュしているものを返すようにしました。また、update_with_lockがネストして呼び出される場合に、ロックは最初の呼び出しに対してかかるようにしました。