IMHO let's not call `this.generateSearchEngineOptions` in this function to make this function easier to be test and more reusable.