diff --git a/sparrow.cabal b/sparrow.cabal
--- a/sparrow.cabal
+++ b/sparrow.cabal
@@ -2,10 +2,10 @@
 --
 -- see: https://github.com/sol/hpack
 --
--- hash: ca194da829dc469ef7c296f3c390fa1b36df83bd6bff4eee9cab731849fe886e
+-- hash: 6c306d5812574925b3eb6f92b35d603c4976930dc2a6570a95411888cf3a4523
 
 name:           sparrow
-version:        0.0.2.1
+version:        0.0.2.2
 synopsis:       Unified streaming dependency management for web apps
 description:    Please see the README on Github at <https://git.localcooking.com/tooling/sparrow#readme>
 category:       Web
@@ -43,7 +43,7 @@
     , aeson-attoparsec
     , async
     , attoparsec
-    , attoparsec-uri >=0.0.4
+    , attoparsec-uri >=0.0.5.1
     , base >=4.7 && <5
     , bytestring
     , deepseq
@@ -61,6 +61,7 @@
     , path
     , path-extra >=0.2.0
     , pred-trie >=0.6.0.1
+    , purescript-iso >=0.0.3
     , stm
     , strict
     , text
@@ -68,7 +69,7 @@
     , tmapmvar >=0.0.4
     , transformers
     , unordered-containers
-    , urlpath >=9.0.0
+    , urlpath >=9.0.0.1
     , uuid
     , wai >=0.12.4
     , wai-middleware-content-type >=0.6.1.2
diff --git a/src/Web/Dependencies/Sparrow/Server.hs b/src/Web/Dependencies/Sparrow/Server.hs
--- a/src/Web/Dependencies/Sparrow/Server.hs
+++ b/src/Web/Dependencies/Sparrow/Server.hs
@@ -121,6 +121,7 @@
           -- ##  invoke Server
           mContinue <- server initIn
           case mContinue of
+            -- FIXME There's got to be some kind of error type
             Nothing -> resp (jsonOnly (InitRejected :: InitResponse ()) status400 [])
             Just ServerContinue{serverContinue,serverOnUnsubscribe} -> do
 
diff --git a/src/Web/Dependencies/Sparrow/Server/Types.hs b/src/Web/Dependencies/Sparrow/Server/Types.hs
--- a/src/Web/Dependencies/Sparrow/Server/Types.hs
+++ b/src/Web/Dependencies/Sparrow/Server/Types.hs
@@ -87,7 +87,7 @@
   TMapChan.insert envSessionsOutgoing
 
 
-type RegisteredReceive m = -- STMMap.Map SessionID (STMMap.Map Topic (Value -> Maybe (m ())))
+type RegisteredReceive m =
   TMapMVar SessionID (TMapMVar Topic (Value -> Maybe (m ())))
 
 
@@ -101,8 +101,6 @@
       topics <- newTMapMVar
       TMapMVar.insert topics topic f
       TMapMVar.insert envRegisteredReceive sID topics
-      -- ks <- getCurrentRegisteredTopics env sID
-      -- putStrLn $ " - unsafeRegisterReceive: Topics...: " ++ show ks
     Just topics ->
       TMapMVar.insertForce topics topic f
 
diff --git a/src/Web/Dependencies/Sparrow/Types.hs b/src/Web/Dependencies/Sparrow/Types.hs
--- a/src/Web/Dependencies/Sparrow/Types.hs
+++ b/src/Web/Dependencies/Sparrow/Types.hs
@@ -13,11 +13,14 @@
 
 import Data.Hashable (Hashable)
 import Data.Text (Text, intercalate, unpack)
+import qualified Data.Text as T
 import qualified Data.Text.Lazy.Encoding as LT
 import qualified Data.ByteString.Lazy as LBS
 import Data.Aeson (ToJSON (..), FromJSON (..), Value (String, Object), (.=), object, (.:))
 import Data.Aeson.Types (typeMismatch)
 import Data.Aeson.Attoparsec (attoAeson)
+import Data.Aeson.JSONVoid (JSONVoid)
+import Data.String (IsString (..))
 import Data.Attoparsec.Text (Parser, takeWhile1, char, sepBy)
 import Control.Applicative (Alternative (empty), (<|>))
 import Control.DeepSeq (NFData)
@@ -36,7 +39,9 @@
   , serverSendCurrent :: deltaOut -> m ()
   }
 
-hoistServerArgs :: (forall a. m a -> n a) -> ServerArgs m deltaOut -> ServerArgs n deltaOut
+hoistServerArgs :: (forall a. m a -> n a)
+                -> ServerArgs m deltaOut
+                -> ServerArgs n deltaOut
 hoistServerArgs f ServerArgs{..} = ServerArgs
   { serverDeltaReject = f serverDeltaReject
   , serverSendCurrent = f . serverSendCurrent
@@ -160,6 +165,14 @@
 newtype Topic = Topic {getTopic :: [Text]}
   deriving (Eq, Ord, Generic, Hashable, NFData)
 
+instance IsString Topic where
+  fromString x' =
+    let loop x = case T.breakOn "/" x of
+          (l,r)
+            | r == "" -> []
+            | otherwise -> l : loop (T.drop 1 r)
+    in  Topic $ loop $ T.pack x'
+
 instance Show Topic where
   show (Topic x) = unpack (intercalate "/" x)
 
@@ -187,14 +200,6 @@
 
 
 -- * JSON Encodings
-
-data JSONVoid
-
-instance ToJSON JSONVoid where
-  toJSON _ = String ""
-
-instance FromJSON JSONVoid where
-  parseJSON = typeMismatch "JSONVoid"
 
 
 data WithSessionID a = WithSessionID
