Refactor syncItems methods and fix subclassed methods not getting called (fixes #742)