Rework client.Interface to match upstream