sync: Add synchronization framework