Add refresh API. Refactor specs to use refresh API instead of sleep, and use componentized #request method.