#3, #2: UML updated to reflect new hierarchy.
#9: Fixed bug in unittests.