public House BuildHouse <T>() where T : HouseBuilder, new() { HouseBuilder houseBuilder = new T(); var siteManager = new SiteManager(houseBuilder); siteManager.BuildHouse(); return(siteManager.GetHouse()); }