@@ -107,10 +107,13 @@
         widgets = {}     # non-glade widgets (the manually instantiated ones)
         channels = {}    # channel modules
         features = {}    # non-channel plugins
         working = []     # threads
         add_signals = {} # channel gtk-handler signals
+        hooks = {
+            "play": [favicon.download_playing],  # observers queue here
+        }
 
         # status variables
         channel_names = ["bookmarks"]    # order of channel notebook tabs
         current_channel = "bookmarks"    # currently selected channel name (as index in self.channels{})
 
@@ -128,11 +131,11 @@
             self.extensionsCTM.set_submenu(self.extensions)  # duplicates Station>Extension menu into stream context menu
 
             # initialize channels
             self.channels = {
               "bookmarks": bookmarks(parent=self),   # this the remaining built-in channel
-              "shoutcast": None,#shoutcast(parent=self),
+              #"shoutcast": None,#shoutcast(parent=self),
             }
             gui_startup(3/20.0)
             self.load_plugin_channels()   # append other channel modules / plugins
 
 
@@ -308,11 +311,11 @@
         # play button
         def on_play_clicked(self, widget, event=None, *args):
             row = self.row()
             if row:
                 self.channel().play(row)
-                favicon.download_playing(row)
+                [hook(row) for hook in self.hooks["play"]]
 
 
         # streamripper
         def on_record_clicked(self, widget):
             row = self.row()
@@ -848,11 +851,11 @@
             for name,meta in channels.module_meta().items():
 
                 # add plugin load entry
                 if name:
                     cb = gtk.CheckButton(name)
-                    cb.child.set_markup("<b>%s</b> <i>(%s)</i> %s\n<small>%s</small>" % (meta["title"], meta["type"], meta.get("version", ""), meta["description"]))
+                    cb.get_children()[0].set_markup("<b>%s</b> <i>(%s)</i> %s\n<small>%s</small>" % (meta["title"], meta["type"], meta.get("version", ""), meta["description"]))
                     self.add_( "config_plugins_"+name, cb )
 
                 # look up individual plugin options, if loaded
                 if self.channels.get(name) or self.features.get(name):
                     c = self.channels.get(name) or self.features.get(name)
@@ -958,14 +961,13 @@
 #
 class bookmarks(GenericChannel):
 
 
         # desc
-        api = "streamtuner2"
         module = "bookmarks"
         title = "bookmarks"
-        version = 4/10
+        version = 0.4
         base_url = "file:.config/streamtuner2/bookmarks.json"
         listformat = "*/*"
 
         
         # i like this