Options, take 2

This is based off of #4 with some changes. Main change is that `func` now defaults to `'url'` (with added documentation for `func` option).