Combines multiple types of sync classes (e.g. mouse, touch, scrolling) into one standardized interface for inclusion in widgets. Sync classes are first registered with a key, and then can be accessed globally by key. Emits 'start', 'update' and 'end' events as a union of the sync class providers.