Split sync into pull and push, temporarily