first implementation of new privacy system
privacy working + tests
cleanup and documentation
privacy made more robust and shifted code around to have better locality and scoping
change self to user after change to class method
tests pass, minor refactoring and cleanup