I have suggested this before .. and it languished.
I currently think a 'white box' engine is a better / cleaner approach:
- supports time/date arithmetic, including calendar (events) and timezones
- supports custom (user) variables (as number, string, or time/date values)
- supports boolean and state fields (vast improvement over current/new -decr/+incr/reset), including initial state and coupling (conditional logic, triggered by variable change/update)
- supports extended Chronograph/Stopwatch capabilities: enhanced start/stop, laps, multiple target (incl. difference)
- returns rotation values (already cooked)
- returns time/date fields (based on calculated values, with the preferred locale, 12/24, style, etc.)
- could be extended to: astronomical/astrological data (Earth, Sun, moon, planets), enhanced fitness analysis (rest/work periods, targets, trends), etc.
This would greatly simplify the Facer engine (for Creator, or on the watch/device), and (as you noted) greatly reduce the amount of computation each UI update (time-tick/event). And all those customised tags and functions, that only support certain needs/preferences, could also be expunged.