<div dir="auto">Hi,<div dir="auto"><br></div><div dir="auto">I am learning snapd code and have found some rather strange place of the code:</div><div dir="auto"><br></div><div dir="auto">snapstate.go:</div><div dir="auto"><br></div><div dir="auto"><div dir="auto"><div dir="auto">var Configure = func(st *state.State, snapName string, patch map[string]interface{}) *state.TaskSet {</div><div dir="auto"><span class="Apple-tab-span" style="white-space:pre">        </span>panic("internal error: snapstate.Configure is unset")</div><div dir="auto">}</div><div dir="auto"><br></div><div dir="auto">I tried to understand why would anyone do not want to call directly Configure function and the only reason I have found so far is 'circular dependency'.</div><div dir="auto"><br></div><div dir="auto">So I have refactored the code a little bit to remove it and the pull request is here:</div><div dir="auto"><br></div><div dir="auto"><a href="https://github.com/snapcore/snapd/pull/2443">https://github.com/snapcore/snapd/pull/2443</a><br></div><div dir="auto"><br></div><div dir="auto">Would you guys consider merging it?</div><div dir="auto"><br></div><div dir="auto"><br></div></div></div></div>