Extract a ReferenceCompiler
Allow an optional parameter
Fail properly when a method has an invalid signature
Initialize with the method name
Move more compilation logic into ReferenceCompiler
Allow passing keyword parameters to references
Allow mixing positional and keyword arguments
Add improved error handling when parsing params