trying to use a double-virtual-class, but it isn't quite working.

Signed-off-by: AJ Rossini <blindglobe@gmail.com>