Reorganized subclasses of Dogma and added exception handleing and testing.