Future<T?> delete(final String key) async { T? value; await transaction((final PerksNameValueMap<T> data) async { value = data.remove(key); return data; }); return value; }