split up datastore manager core components