#136 brings Sync but without listeners for events. We should add those as well for completeness. How would that work? Take a cue from `observable.dart`?