Refactored all into sync engine. Next to push abstract backwards more.