.Instance should allow creating controllers and view components with inner builder like so:
MyController<MyMvcController>
.Instance(instance => instance
.WithOptions(options => options
.For<MyAppSettings>(settings => settings.Cache = true))
.WithSession(session => session
.WithEntry("MySession", "MySessionValue")))
.Calling(c => c.MyAction())
.ShouldReturn()
.View();
It should directly use the IControllerBuilder and IViewComponentBuilder interfaces.