//Complex constructor to be used in unit testing to allow mocking of componets
 protected BaseSiteSearchSurfaceController(ISiteSearchService siteSearchService, IUmbracoSpellChecker spellChecker,
                                           IUmbracoPhraseSuggester phraseSuggester, IPublishedContentCache contentCache, IInputSanitiser inputSanitiser)
 {
     _siteSearchService = siteSearchService;
     _spellChecker      = spellChecker;
     _phraseSuggester   = phraseSuggester;
     _contentCache      = contentCache;
     _inputSanitiser    = inputSanitiser;
 }
 //Basic constructor to be used by Autofac
 protected BaseSiteSearchSurfaceController(ISiteSearchService siteSearchService, IUmbracoSpellChecker spellChecker)
 {
     _siteSearchService = siteSearchService;
     _spellChecker      = spellChecker;
 }
 //Constructor for unit testing
 public UmbracoPhraseSuggester(ISiteSearchService siteSearchService, IUmbracoSpellChecker spellChecker, IInputSanitiser inputSanitiser)
 {
     _siteSearchService = siteSearchService;
     _spellChecker      = spellChecker;
     _inputSanitiser    = inputSanitiser;
 }
 public UmbracoPhraseSuggester(ISiteSearchService siteSearchService, IUmbracoSpellChecker spellChecker)
 {
     _siteSearchService = siteSearchService;
     _spellChecker      = spellChecker;
 }
 public DeSiteSearchSurfaceController(ISiteSearchService siteSearchService, IUmbracoSpellChecker spellChecker) : base(siteSearchService, spellChecker)
 {
 }
 public EnSiteSearchSurfaceController(ISiteSearchService siteSearchService, IUmbracoSpellChecker spellChecker, IUmbracoPhraseSuggester phraseSuggester,  IPublishedContentCache contentCache, IInputSanitiser inputSanitiser) : base(siteSearchService, spellChecker, phraseSuggester, contentCache, inputSanitiser)
 {
 }