Adding unit tests
Adding visibility tests.
PEP-8 OCD
PEP-8 OCD, and adding some interfaces for each of the major perms.