I believe this can actually return a `Future<Map<String,dynamic>>` - the values don't have to be String, they could be anything json-ifiable