Prepare for a nice class hierarchy