Changing machines.
Centralizing the syncing based on events.
Merge branch 'wip'