Add first attempt at a Dart implementation

Apparently there's no way to turn an async request into a synchronous one. Which is a bit weird.