Make compatible with 1.8.7
- Don't use any default arguments.
- Use either arguments.first in the case we pass something in after initial definition, args.first, if we passed something in at the time we hit method missing, and empty hash, in case nothing was defined.