Moves implementation from Client to AbstractClient. Setter is protected, getter is no longer virtual.