AddNewWithServices() accepts a variadic list of services and returns a
new, by New() created, Notify instance with the list of services set as
its notifiers.
If no services are given it's the functionally identical to just calling
New().
Calling NewWithServices() with a list of services is functionally equal
to calling New() and then UseServices().
Introducing Option functions. Options are meant to provide an extendable
way of instanciating a Notifier with a set of options. Currently, only
Enable()/Disable() are supported.
WithOptions() alters an already instanciated Notifier and
NewWithOptions() returns a new Notifier instance that was initialized
with the given options.
Options are passed in as a variadic list, thus, they're "optional".. no
pun intended. Calling New() results in an internal call to
NewWithOptions() without options passed, which again results in a
default Notifier being returned.