Moved protected after private
Cleaned up a few things.
Added some test cases to visibility tests.
Updated feature administration