Create base classes; remove more shims.

This removes shims in favor of attaching modified methods to base classes
shared by the application.

Resolves #300