diff --git a/Text/Chatty/Channel/Broadcast.hs b/Text/Chatty/Channel/Broadcast.hs
--- a/Text/Chatty/Channel/Broadcast.hs
+++ b/Text/Chatty/Channel/Broadcast.hs
@@ -32,6 +32,11 @@
 
 -- | Typeclass for all channel printers that may broadcast to all channels that fulfill a condition.
 class ChannelPrinter c m => Broadcaster c m where
+    -- | Print the string to all channels that fulfill the current condition.
+  bprint :: (c -> m Bool) -> String -> m ()
+
+-- | Typeclass for all broadcaster that may embrace sections
+class Broadcaster c m => BroadcasterBracket c m where
   -- | Run the function and print to all channels that fulfill the given condition.
   bbracket :: (c -> m Bool) -> m a -> m a
   bbracket f m = bstart f >> m >>= \a -> bfin f >> return a
@@ -39,6 +44,3 @@
   bstart :: (c -> m Bool) -> m ()
   -- | Return to the previous condition. The argument is bogus (just for type inference).
   bfin :: (c -> m Bool) -> m ()
-  -- | Print the string to all channels that fulfill the current condition.
-  bprint :: (c -> m Bool) -> String -> m ()
-  bprint f str = bbracket f $ mprint str
diff --git a/Text/Chatty/Interactor/Templates.hs b/Text/Chatty/Interactor/Templates.hs
--- a/Text/Chatty/Interactor/Templates.hs
+++ b/Text/Chatty/Interactor/Templates.hs
@@ -90,9 +90,10 @@
 mkBroadcaster :: Name -> Name -> Q [Dec]
 mkBroadcaster c s = [d|
     instance Broadcaster $cx m => Broadcaster $cx ($sx m) where
-      bstart = lift . bstart
-      bfin = lift . bfin
-      bprint b = lift . bprint b
+      bprint b = lift . bprint (lift . b)
+    instance BroadcasterBracket $cx m => BroadcasterBracket $cx ($sx m) where
+      bstart b = lift $ bstart (lift . b)
+      bfin b = lift $ bfin (lift . b)
   |]
   where sx = strToType s
         cx = strToType c-}
diff --git a/chatty.cabal b/chatty.cabal
--- a/chatty.cabal
+++ b/chatty.cabal
@@ -10,7 +10,7 @@
 -- PVP summary:      +-+------- breaking API changes
 --                   | | +----- non-breaking API additions
 --                   | | | +--- code changes with no API change
-version:             0.4.1.0
+version:             0.5.0.0
 
 -- A short (one-line) description of the package.
 synopsis:            Some monad transformers and typeclasses to simplify I/O on a transformer stack.
