Pass args in expected order, and allow `$data` as an option too