Scott Duckworth   Main author.
Paul Kilgo        Some improvements in unit test cases; assisted with
                  conceptualization of some components; multiple bug fixes.
