Consolidated only

Progress PR, do not merge yet.

The changes are complete but require review.

Unit tests need to be updated to match new functions.
Maybe 'core attributes' would be a better name here?