Refactoring in Options

Options are specified as functions that modify the default configuration.
This also causes slightly different behavior in the command line
interface: --sender can be specified multiple times without raising an
error now, the last given sender will be used.