Make synchronization service extendable, update userprojects model

please add javadoc descriptions for the interface classes (and ideally all methods)