For future-proof-ness, maybe we should make this be an "options" object with and `agent` property. That allows for more options to be added in the future without adding unnecessary arguments.