Having mutable default arguments is a bad idea (since there's only ever one copy but `params['foo'] = 'bar'` will accidentally modify it). We should set this to `None` here and then check for `None` were we dispatch to the action handler with `**params` in `dispatch_action`.