Not sure where to put the Factory to allow it to access the enum...