Got calculated attributes working. This plumbing is getting a bit crazy
I also reworked a few internals. Too lazy to split up the commit though