Refactor class structure to use purely metaclass bases.
Update README documentation.