Refactored client side to use indirect codecs and XxxMethods helpers