WIP for review

This has a bunch of ideas I'll document inline
Magic methods so much easier for IDE users.