diff --git a/glazier-pipes.cabal b/glazier-pipes.cabal
--- a/glazier-pipes.cabal
+++ b/glazier-pipes.cabal
@@ -1,6 +1,6 @@
 name:                glazier-pipes
-version:             0.1.4.0
-synopsis:            Converts Glazier widgets into a Pipe.
+version:             0.1.5.0
+synopsis:            A threaded rendering framework using glaizer and pipes
 description:         Please see README.md
 homepage:            https://github.com/louispan/glazier-pipes#readme
 license:             BSD3
@@ -16,17 +16,11 @@
 
 library
   hs-source-dirs:      src
-  exposed-modules:     Glazier.Pipes.Lazy
-                       Glazier.Pipes.Strict
-                       Glazier.Pipes.Ui
+  exposed-modules:     Glazier.Pipes.Ui
   build-depends:       base >= 4.7 && < 5
-                     , glazier >= 0.7 && < 1
-                     , lens >= 4 && < 5
+                     , glazier >= 0.8 && < 1
                      , mmorph >= 1 && < 2
-                     , mtl >= 2 && < 3
                      , pipes >= 4 && < 5
-                     , pipes-concurrency >= 2 && < 3
-                     , pipes-misc >= 0.2.3 && < 1
                      , stm >= 2.4 && < 3
                      , stm-extras > 0.1 &&  < 1
                      , transformers >= 0.4 && < 0.6
diff --git a/src/Glazier/Pipes/Lazy.hs b/src/Glazier/Pipes/Lazy.hs
deleted file mode 100644
--- a/src/Glazier/Pipes/Lazy.hs
+++ /dev/null
@@ -1,35 +0,0 @@
-{-# LANGUAGE RankNTypes #-}
-
-module Glazier.Pipes.Lazy where
-
-import Control.Concurrent
-import Control.Concurrent.STM
-import Control.Concurrent.STM.TMVar.Extras as STE
-import Control.Lens
-import Control.Monad.Morph
-import Control.Monad.State.Lazy
-import Control.Monad.Trans.Maybe
-import qualified Glazier.Gadget.Lazy as G
-import qualified Pipes as P
-import qualified Pipes.Concurrent as PC
-import qualified Pipes.Lift as PL
-import qualified Pipes.Misc.Concurrent as PM
-import qualified Pipes.Misc.State.Lazy as PM
-
--- | Converts a 'Glazier.Gadget' into a 'Pipes.Pipe'
-gadgetToPipe :: (Monad m, MonadTrans t, MonadState s (t m)) => G.Gadget s m a c -> P.Pipe a c (t m) r
-gadgetToPipe g = forever $ do
-    a <- P.await
-    s <- get
-    -- This is the only line that is different between the Strict and Lazy version
-    ~(c, s') <- lift . lift $ view G._Gadget g a s
-    put s'
-    P.yield c
-{-# INLINABLE gadgetToPipe #-}
-
--- | Convert a 'Pipes.Concurrent.Input' and a 'Glazier.Gadget' into a stateful 'Pipes.Producer' of commands to interpret.
-gadgetToProducer ::
-  (MonadState s (t STM), MonadTrans t) =>
-  PC.Input a -> G.Gadget s STM a c -> P.Producer' c (t STM) ()
-gadgetToProducer input g = hoist lift (PM.fromInputSTM input) P.>-> gadgetToPipe g
-{-# INLINABLE gadgetToProducer #-}
diff --git a/src/Glazier/Pipes/Strict.hs b/src/Glazier/Pipes/Strict.hs
deleted file mode 100644
--- a/src/Glazier/Pipes/Strict.hs
+++ /dev/null
@@ -1,38 +0,0 @@
-{-# LANGUAGE RankNTypes #-}
-
-module Glazier.Pipes.Strict where
-
-import Control.Concurrent
-import Control.Concurrent.STM
-import Control.Concurrent.STM.TMVar.Extras as STE
-import Control.Lens
-import Control.Monad.Morph
-import Control.Monad.State.Strict
-import Control.Monad.Trans.Maybe
-import qualified Glazier.Gadget.Strict as G
-import qualified Pipes as P
-import qualified Pipes.Concurrent as PC
-import qualified Pipes.Lift as PL
-import qualified Pipes.Misc.Concurrent as PM
-import qualified Pipes.Misc.State.Strict as PM
-import qualified Pipes.Prelude as PP
-import qualified Pipes.Internal as PI
-
-
--- | Converts a 'Glazier.Gadget' into a 'Pipes.Pipe'
-gadgetToPipe :: (Monad m, MonadTrans t, MonadState s (t m)) => G.Gadget s m a c -> P.Pipe a c (t m) r
-gadgetToPipe g = forever $ do
-    a <- P.await
-    s <- get
-    -- This is the only line that is different between the Strict and Lazy version
-    (c, s') <- lift . lift $ view G._Gadget g a s
-    put s'
-    P.yield c
-{-# INLINABLE gadgetToPipe #-}
-
--- | Convert a 'Pipes.Concurrent.Input' and a 'Glazier.Gadget' into a stateful 'Pipes.Producer' of commands to interpret.
-gadgetToProducer ::
-  (MonadState s (t STM), MonadTrans t) =>
-  PC.Input a -> G.Gadget s STM a c -> P.Producer' c (t STM) ()
-gadgetToProducer input g = hoist lift (PM.fromInputSTM input) P.>-> gadgetToPipe g
-{-# INLINABLE gadgetToProducer #-}
