Refactor state.go
Cleanup comments
Change first run detection
Add test
Refactoring
Rename args() to parseArguments()
CLeanup alternate()