private ActionResult GetPageViewData(WorkflowParameters parameters, string viewName, Func <IPageWorkflow, PageViewData> getPageViewData) { var repositoryFactory = new RepositoryFactory(); var workflowFactory = new WorkflowFactory(repositoryFactory); var pageWorkflow = workflowFactory.GetPageWorkflow(parameters); return(View(viewName, getPageViewData.Invoke(pageWorkflow))); }