We need men who can dream of things that never were.
—John F. Kennedy
The whole ASP.NET MVC stack is full of extensibility points. An extensibility point is a place in the code where the actual behavior to occur can be read from an external and replaceable provider. In the previous chapters, you saw a few examples of extensibility points. You saw, for example, how to replace the controller factory—that is, the component that returns fresh instances of controller classes for each incoming request. (See Chapter 7.) In Chapter 4, you also saw how to replace a model metadata provider—that is, the component that reads meta information about classes to be used in HTML forms.
In a programming framework such ...