Refactor DetailViewControlFactory