Cross cutting concerns should be handled in an unobtrusive way, i.e. implemented in a way they don’t require any modifications to your original features. One way to achieve this is by using Aspect Oriented Programming, more specifically using Castle Dynamic Proxies to intercept method calls at runtime with StructureMap. The code examples below were implemented in an EPiServer Alloy MVC site. In this example we’re going to add MiniProfiler and measure how long each method takes to run.