Add tests
Configure nose to be more verbose and to show test coverage
Use generic constants instead of literal strings for error messages