Restructure sync clients to have per-action main classes