Changed private properties to protected to allow inheritance should it ever be required.