I've made all refactoring I wanted.
Breaking change I've mentioned it is extracting ISection interface from Section class.
I've made it because needed to reimplement Section extension methods in PartialProxySection. Now it need only to implement ISection interface, all extension methods we'll be added.
Fixed ViewData to be more strongly typed, though some reflection is used for this.
I've made all refactoring I wanted. Breaking change I've mentioned it is extracting ISection interface from Section class. I've made it because needed to reimplement Section extension methods in PartialProxySection. Now it need only to implement ISection interface, all extension methods we'll be added.
Fixed ViewData to be more strongly typed, though some reflection is used for this.
PS Sorry for the mess of PRs.