<div dir="ltr"><div class="gmail_default" style="font-family:verdana,sans-serif"><span style="font-family:arial,sans-serif">On 9 July 2017 at 18:13, roger peppe </span><span dir="ltr" style="font-family:arial,sans-serif"><<a href="mailto:rogpeppe@gmail.com" target="_blank">rogpeppe@gmail.com</a>></span><span style="font-family:arial,sans-serif"> wrote:</span><br></div><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Getting all of that facade-specific logic out of the apiserver package seems like a great idea to me. I don't think it would take *too* much work to factor the helper logic into its own package entirely, with no dependencies on the facades.</div></blockquote><div><br></div><div> <br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"> The client is actually almost there already with its APICaller interface as common currency - we should really follow the intent of <a href="https://github.com/juju/juju/blob/develop/api/interface.go#L285-L289" target="_blank">this old comment of William's</a>.The manifold issue is the interesting one - work out a good solution to that and the rest'll come quite quickly, I feel.</div></blockquote><div><br></div><div><div class="gmail_default" style="font-family:verdana,sans-serif">​FWIW, that list of client side facade factory methods on api.Connection which shouldn't be there used to be a lot bigger. We've removed about two thirds of them while converting the machine agent to use the dependency engine.</div></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><br></div><div>It would be marvellous to get parts moving more freely in Juju again - losing big fan-out dependency graphs is a good way to move in that direction, I'm pretty sure.</div></div></blockquote><div><br></div><div class="gmail_default" style="font-family:verdana,sans-serif">​+1</div><div class="gmail_default" style="font-family:verdana,sans-serif"><br></div><div class="gmail_default" style="font-family:verdana,sans-serif">- Menno</div></div></div></div>