public AutomaticOffTimer(ILightBulb bulb) { mBulb = bulb; }
public LightSwitch(ILightBulb lightBulb) { this.lightBulb = lightBulb; }
public static void SwitchOn(this ILightBulb lightBulb, TimeSpan offAfter) { var timer = new AutomaticOffTimer(lightBulb); timer.Run(offAfter); }