Clean up client wrapper: refactor, remove redundant argument validation