diff --git a/bluefin.cabal b/bluefin.cabal
--- a/bluefin.cabal
+++ b/bluefin.cabal
@@ -1,6 +1,6 @@
 cabal-version:      3.0
 name:               bluefin
-version:            0.0.1.0
+version:            0.0.2.0
 license:            MIT
 license-file:       LICENSE
 author:             Tom Ellis
@@ -9,6 +9,8 @@
 extra-doc-files:    CHANGELOG.md
 description:        The Bluefin effect system
 synopsis:           The Bluefin effect system
+homepage:           https://github.com/tomjaguarpaw/bluefin
+bug-reports:        https://github.com/tomjaguarpaw/bluefin/issues
 
 common warnings
     ghc-options: -Wall
@@ -27,6 +29,7 @@
       Bluefin.Jump,
       Bluefin.IO,
       Bluefin.State,
+      Bluefin.StateSource,
       Bluefin.Stream,
       Bluefin.Writer,
     build-depends:
diff --git a/src/Bluefin/StateSource.hs b/src/Bluefin/StateSource.hs
new file mode 100644
--- /dev/null
+++ b/src/Bluefin/StateSource.hs
@@ -0,0 +1,20 @@
+module Bluefin.StateSource
+  ( -- | A 'StateSource' allows you to allocate new
+    -- 'Bluefin.State.State' handles, much like 'Control.Monad.ST'
+    -- allows you to allocate new 'Data.STRef.STRef's.  This can be
+    -- useful when you want to avoid nested 'Bluefin.State.runState'
+    -- (or `Bluefin.State.evalState' blocks), or you need an only
+    -- dynamically known number of mutable states.
+
+    -- * Handle
+    StateSource,
+
+    -- * Handlers
+    withStateSource,
+
+    -- * Effectful operations
+    newState,
+  )
+where
+
+import Bluefin.Internal
