Refactoring: extract SyncAction to a separate module (ON-232)