Large Commit - Documentation changes @access

We use @access to determin private or protected and use phpdoc
to document those methods.

Added enw documentation