disentangle sync from models by defering the sync require until app init
separate user model definition from instantiation