Convert private methods and properties into protected

This way we can actually extend this and enhance if we wish!