added sort of hacky singleton and gem_exists? methods.  definitely needs to be ripped out into separate stores