Самопроизвольное отключение света

Вот, довольно простенький. Но работает и годен для промышленного применения.

То, что каждый экземпляр объекта созданный с помощью defineRule() - остается.

Нет. Точнее - можно, но весьма нетривиально. И не нужно, это на порядок сложнее и потребует очень хорошего вникания.

А чем стандартный Date неудобен?