Because just the top-level field changing invalidates everything in the sub-document, a single attribute change would trigger a re-calculation on all attributes and their dependents. This change should significantly improve performance.
Character text fields now work. Slightly modified versions will be needed for Spells, features, etc.