basic abstracted streaming client w/ retry

also, fake-api is more accurate now