Create method to resolve #210

I've updated the `TrigFunction` classes to use `create` and remove `subs`
I'll do the same for `HyperbolicFunction` shortly.
Yup correct! I've updated it to pass by reference.