Make methods private

I think they had been made public just for redundant testing.
Remove some nil checks and caching that are no longer necessary
Merge pull request #96 from mainej/internal-cleanup

A few small changes