There should be a method WallTime.addRulesZones(rules,zones) so that an application can append new rules/zones after init has taken place (lazy add). This method would be similar to WallTime.init(rules,zones), except that it would not initialize member properties and maybe it would even check that zone/rule does not exist before setting it. The init() method could also re-factor to call addRulesZones so that it is DRY.
There should be a method WallTime.addRulesZones(rules,zones) so that an application can append new rules/zones after init has taken place (lazy add). This method would be similar to WallTime.init(rules,zones), except that it would not initialize member properties and maybe it would even check that zone/rule does not exist before setting it. The init() method could also re-factor to call addRulesZones so that it is DRY.