Deletes both actual and cached value. On error throws.
@override Future<void> delete() async { _cachedItem = null; _isItemFetched = true; await _inner.delete(); }