games are downloaded async
refactor callbacks, request takes a callback instead of sink