diff --git a/src/Quasar/Disposable.hs b/src/Quasar/Disposable.hs
index 2d776cc5c81469c7c8d0fa4d80eeb4eccb30f3d0..b6df3c79455ca7f9f4413585a2eba3ecdbf6b066 100644
--- a/src/Quasar/Disposable.hs
+++ b/src/Quasar/Disposable.hs
@@ -211,9 +211,11 @@ instance HasResourceManager ResourceManager where
 
 class (MonadMask m, MonadIO m) => MonadResourceManager m where
   askResourceManager :: m ResourceManager
+  localResourceManager :: ResourceManager -> m a -> m a
 
 instance (MonadMask m, MonadIO m) => MonadResourceManager (ReaderT ResourceManager m) where
   askResourceManager = ask
+  localResourceManager = local . const
 
 
 onResourceManager :: (HasResourceManager a) => a -> ReaderT ResourceManager m r -> m r