tePlaybackStatus :: Label -> [(Variant, Variant)] -> IO ()
updatePlaybackStatus w items = do
  case lookup (toVariant ("PlaybackStatus" :: String)) items of
    Just a -> do
      case (unpack . unpack) a :: String of
        "Playing" -> postGUIAsync $ widgetShowAll w
        "Paused"  -> postGUIAsync $ widgetHideAll w
        "Stopped" -> postGUIAsync $ widgetHideAll w
        _         -> return ()
    Nothing -> do
      return ()

up
updatePlaybackStatus :: Label -> [(Variant, Variant)] -> IO ()
updatePlaybackStatus w items = do
  case lookup (toVariant ("PlaybackStatus" :: String)) items of
    Just a -> do
      case (unpack . unpack) a :: String of
        "Playing" -> postGUIAsync $ widgetShowAll w
        "Paused"  -> postGUIAsync $ widgetHideAll w
        "Stopped" -> postGUIAsync $ widgetHideAll w
        _         -> return ()
    Nothing -> do
      return ()
updatePlaybackStatus w items = do
  case lookup (toVariant ("PlaybackStatus" :: String)) items of
    Just a -> do
      case (unpack . unpack) a :: String of
        "Playing" -> postGUIAsync $ widgetShowAll w
        "Paused"  -> postGUIAsync $ widgetHideAll w
        "Stopped" -> postGUIAsync $ widgetHideAll w
        _         -> return ()
    Nothing -> do
      return ()