Also improved the display of features and generally iterated on their manipulation.
Characters now fetch the relevant effects directly when making a calculation, simplifying almost everything.
Effects now store a reference to their source if they have one.
Effect names are now optional, they can be fetched from the source's name if the source exists.
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.