V3

I'd prefer we throw an error right here if we are passed a bad `geofireObj` since that means something went wrong. I think that is clearer than returning `null` here and expecting callers to catch that error condition.