It contained an abstract factory at first, I'm still contemplating have an abstract factory and a bunch of aliases instead of having lots of classes point to the same factory. But i don't know which of these ideas is best.