Should error check that callback is defined. Also, should we consider removing the callback from the map once it's been called (since it should never be called more than once).