As you can see the 'Create' method can accept 1 or 2 arguments. And the method I used here can be easily applied in cases where there are only a few variants in the method call.
If the number of arguments is truly variable, then a variadic templated function. If however the variation of arguments are few then I'd use overload function. Whichever comes down to ease of use/implementation.
PS. Also don't forget that function params from the right can be optional if a default is supplied.
One off these days I'll have to figure out how to create a variadic templated function.
I hope that using the recently acquired knowledge this is not too difficult.