tie the knot (kinda, not all the way though)
some notes
use the metaclass to construct the instance
test that class isa object