Pretty much functional Java client.