DRY up client methods and allow sending params