Issue #2: Cleaned-up and documented the back-end base classes