https://softwareengineering.stackexchange.com/questions/314043/when-and-why-to-use-nested-classes
public class Outer { private int _example; private class Inner : ISomeInterface { Outer _outer; public Inner(Outer outer){_outer = outer;} public int DoStuff() => _outer._example; } public void DoStuff(){_someDependency.DoBar(new Inner(this)); } }