Actually work with classes as originally advertised.

This is what happens when you write code when very sick.

Also, tests!