First attempt at an async API