Refactor - OO Client with geo calcs & cache