Change methods and variables from private to protected

Change methods and variables from private to protected to allow class methods to be extended.
I've written a small package that will allow other users to use your class with Laravel. But in order for this to work, I need to be able to extend the class. It would be great if you could accept this PR! :+1: 

Great class by the way! :+1: