requires Sprinkler with Initialize, Zone as interface SprinklerSmart;