It's more or less value type for now. The problem is actually quite much stuff went to *Factory class itself. I'll think a bit more where to keep this driver class name first...