How To Take Advantage Of CSharp Optional Parameters For Cleaner Code