#10 extracted datastore interface
#10 made InstanceManager independent of concrete datastore types