Update some method names and add documentation.
Update homepage in gemspec.
Add example state diagram.