All you need to do is ensure that for any given piece of functionality in your application, there are many - preferably dozens - of options that fine tune how that functionality actually behaves. Given enough options to tweak the behavior of some function