The interface was getting so that a new function was needed for every Config variant. Adding an Options struct fixes this.