Systems and methods for enhanced runtime hosting are described. In one
respect, the runtime identifies any abstraction interface(s) exposed by a
host application. The abstraction interface(s) correspond to respective
execution environment functionality implemented by the hosting
application. During execution of runtime managed code and responsive to
an action or event associated with an identified one of the respective
execution environment abstractions, the runtime calls a specific
interface or object corresponding to a specific one of the abstraction
interface(s). This allows the host application to customize/enhance its
execution environment, which includes the runtime, as a function of the
implemented abstraction(s).