Factory pattern for mvc/webforms too (httpcontext refactoring pending)