Branching on algorithmic options - advice on code organization

Keyword Arguments are an easy and common way to add options to a function.

You can also sort of combine #1 and #2 as illustrated here.