added COPYING* to clarify licensing
initialized modifiers
ensure that start() and stop() are called with locked mutex
added support for setting repeat rate
minor cosmetical cleanup