 			dirty = true
 		}
 
+		let newLabel = deriveLabel()
+		if label != newLabel {
+			label = newLabel
+			dirty = true
+		}
+
 		let newCount = deriveCount()
 		if count != newCount {
 			count = newCount

public class LightTarget {
	public private(set) var power: Bool
	public private(set) var brightness: Double
	public private(set) var count: Int

	public let selector: Selector

		}
	}

	private func deriveLabel() -> String {
		switch selector.type {
		case .All:
			return "All"
		case .ID, .Label:
			return lights.first?.label ?? ""
		}
	}

	private func deriveCount() -> Int {
		return lights.count
	}
