API refactoring: no more em/synchrony duality, major api changes