Fix typo in guage function.

Use publish instead of s/publish
Restructure guage to use 'if' instead of 'cond'
Add tests for modified guage fn with flag 'change?'