More cleanups

Documentation change include to require, remove magic property access
and use getter functions