diff --git a/src/Quasar/Observable.hs b/src/Quasar/Observable.hs
index 4aac428c365b3f9e655fe3b64a04e31086a4ecb8..90382b717889a0be3858e9b539493f7850ef3dd4 100644
--- a/src/Quasar/Observable.hs
+++ b/src/Quasar/Observable.hs
@@ -102,7 +102,7 @@ class IsRetrievable v o => IsObservable v o | o -> v where
   -- | Old signature of `observe`, will be removed from the class once it's no longer used for implementations.
   oldObserve :: o -> (ObservableMessage v -> IO ()) -> IO Disposable
   oldObserve observable callback = do
-    resourceManager <- unsafeNewResourceManager
+    resourceManager <- newUnmanagedResourceManager
     onResourceManager resourceManager do
       observe observable $ \msg -> liftIO (callback msg)
     pure $ toDisposable resourceManager
@@ -230,7 +230,7 @@ instance IsObservable r (BindObservable r) where
   oldObserve :: BindObservable r -> (ObservableMessage r -> IO ()) -> IO Disposable
   oldObserve (BindObservable fx fn) callback = do
     -- Create a resource manager to ensure all subscriptions are cleaned up when disposing.
-    resourceManager <- unsafeNewResourceManager
+    resourceManager <- newUnmanagedResourceManager
 
     isDisposingVar <- newTVarIO False
     disposableVar <- newTMVarIO noDisposable
@@ -298,7 +298,7 @@ instance IsObservable r (CatchObservable e r) where
   oldObserve :: CatchObservable e r -> (ObservableMessage r -> IO ()) -> IO Disposable
   oldObserve (CatchObservable fx fn) callback = do
     -- Create a resource manager to ensure all subscriptions are cleaned up when disposing.
-    resourceManager <- unsafeNewResourceManager
+    resourceManager <- newUnmanagedResourceManager
 
     isDisposingVar <- newTVarIO False
     disposableVar <- newTMVarIO noDisposable
diff --git a/src/Quasar/ResourceManager.hs b/src/Quasar/ResourceManager.hs
index 05eade77bbc6bc65cd9b40be8bad2aa5b5ea1cfa..967ff0a6502ad31da466d6b50022ea52ece4ac63 100644
--- a/src/Quasar/ResourceManager.hs
+++ b/src/Quasar/ResourceManager.hs
@@ -15,7 +15,7 @@ module Quasar.ResourceManager (
   ResourceManager,
   withResourceManager,
   newResourceManager,
-  unsafeNewResourceManager,
+  newUnmanagedResourceManager,
   attachDisposable,
   attachDisposeAction,
   attachDisposeAction_,
@@ -182,19 +182,19 @@ instance IsDisposable ResourceManager where
           ((\disposed -> unless disposed retry) =<< readTVar (disposedVar resourceManager))
 
 withResourceManager :: (MonadAwait m, MonadMask m, MonadIO m) => (ResourceManager -> m a) -> m a
-withResourceManager = bracket unsafeNewResourceManager (await <=< liftIO . dispose)
+withResourceManager = bracket newUnmanagedResourceManager (await <=< liftIO . dispose)
 
 withResourceManagerM :: (MonadAwait m, MonadMask m, MonadIO m) => (ReaderT ResourceManager m a) -> m a
 withResourceManagerM action = withResourceManager \resourceManager -> onResourceManager resourceManager action
 
 newResourceManager :: MonadResourceManager m => m ResourceManager
 newResourceManager = mask_ do
-  resourceManager <- unsafeNewResourceManager
+  resourceManager <- newUnmanagedResourceManager
   registerDisposable resourceManager
   pure resourceManager
 
-unsafeNewResourceManager :: MonadIO m => m ResourceManager
-unsafeNewResourceManager = liftIO do
+newUnmanagedResourceManager :: MonadIO m => m ResourceManager
+newUnmanagedResourceManager = liftIO do
   disposingVar <- newTVarIO False
   disposedVar <- newTVarIO False
   exceptionVar <- newEmptyTMVarIO
diff --git a/test/Quasar/DisposableSpec.hs b/test/Quasar/DisposableSpec.hs
index a424215b7525d45fed092b954833ecc0625474a3..c8796f38d079d5318c7d6e5df3574184af5403e6 100644
--- a/test/Quasar/DisposableSpec.hs
+++ b/test/Quasar/DisposableSpec.hs
@@ -44,10 +44,10 @@ spec = parallel $ do
 
   describe "ResourceManager" $ do
     it "can be created" $ io do
-      void unsafeNewResourceManager
+      void newUnmanagedResourceManager
 
     it "can be created and disposed" $ io do
-      resourceManager <- unsafeNewResourceManager
+      resourceManager <- newUnmanagedResourceManager
       await =<< dispose resourceManager
 
     it "can be created and disposed" $ io do