Well, you just declared the two possible solutions as not practicable. Seems like you're screwed. ;)

Virtual calls don't work before the object is completely constructed, period. (And once...