PR of initial master commits

An optional parameter which, when omitted, does not change the behaviour is not really adding complexity. It's an acceptable trade off for not hiving spurious events emitted. The developer would need to include a LOT more logic and complexity to identify and ignore the fake stop/start events from a restart that would be added by the optional parameter.