def actually_toggle_starred t
    if t.has_label? :starred # if ANY message has a star
      t.remove_label :starred # remove from all
      UpdateManager.relay self, :unstarred, t.first
      lambda do
        t.first.add_label :starred
        UpdateManager.relay self, :starred, t.first
        regen_text
      end
    else
      t.first.add_label :starred # add only to first
      UpdateManager.relay self, :starred, t.first
      lambda do
        t.remove_label :starred
        UpdateManager.relay self, :unstarred, t.first
        regen_text
      end
    end
  end
def actually_toggle_starred t
    if t.has_label? :starred # if ANY message has a star
      t.remove_label :starred # remove from all
      UpdateManager.relay self, :unstarred, t.first
      lambda do
        t.first.add_label :starred
        UpdateManager.relay self, :starred, t.first
        regen_text
      end
    else
      t.first.add_label :starred # add only to first
      UpdateManager.relay self, :starred, t.first
      lambda do
        t.remove_label :starred
        UpdateManager.relay self, :unstarred, t.first
        regen_text
      end
    end
  end
returns an undo lambda