add proper example, update lints
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 98eebc5..77c5538 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,4 +1,4 @@
-## 0.0.2
+## 1.0.0
 
 - Internal cleanup.
 
diff --git a/example/README.md b/example/README.md
deleted file mode 100644
index 631fdad..0000000
--- a/example/README.md
+++ /dev/null
@@ -1 +0,0 @@
-The test folder provides a very basic usage example. 
diff --git a/example/index.dart b/example/index.dart
new file mode 100644
index 0000000..afc1a49
--- /dev/null
+++ b/example/index.dart
@@ -0,0 +1,15 @@
+// Copyright (c) 2019, the Dart project authors.  Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+import 'package:sse/client/sse_client.dart';
+
+/// A basic example which should be used in a browser that supports SSE.
+void main() {
+  var channel = SseClient('/sseHandler');
+
+  channel.stream.listen((s) {
+    // Listen for messages and send the back.
+    channel.sink.add(s);
+  });
+}
diff --git a/example/server.dart b/example/server.dart
new file mode 100644
index 0000000..74439c9
--- /dev/null
+++ b/example/server.dart
@@ -0,0 +1,21 @@
+// Copyright (c) 2019, the Dart project authors.  Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+import 'package:shelf/shelf_io.dart' as io;
+import 'package:sse/server/sse_handler.dart';
+
+/// A basic server which sets up an SSE handler.
+///
+/// When a client connnects it will send a simple message and print the
+/// response.
+void main() async {
+  var handler = SseHandler(Uri.parse('/sseHandler'));
+  await io.serve(handler.handler, 'localhost', 0);
+  var connections = handler.connections;
+  while (await connections.hasNext) {
+    var connection = await connections.next;
+    connection.sink.add('foo');
+    connection.stream.listen(print);
+  }
+}
diff --git a/lib/client/sse_client.dart b/lib/client/sse_client.dart
index d7e37ca..65bbbee 100644
--- a/lib/client/sse_client.dart
+++ b/lib/client/sse_client.dart
@@ -46,7 +46,8 @@
 
   /// Add messages to this [StreamSink] to send them to the server.
   ///
-  /// The message added to the sink has to be JSON encodable.
+  /// The message added to the sink has to be JSON encodable. Messages that fail
+  /// to encode will be logged through a [Logger].
   @override
   StreamSink<String> get sink => _outgoingController.sink;
 
diff --git a/pubspec.yaml b/pubspec.yaml
index 13c8db3..9e0487e 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -1,5 +1,5 @@
 name: sse 
-version: 0.0.1 
+version: 1.0.0
 author: Dart Team <misc@dartlang.org>
 homepage: https://github.com/dart-lang/sse
 description: >-
diff --git a/test/sse_test.dart b/test/sse_test.dart
index cebde5c..d6e0445 100644
--- a/test/sse_test.dart
+++ b/test/sse_test.dart
@@ -44,7 +44,7 @@
   });
 
   test('Multiple clients can connect', () async {
-    var connections = await handler.connections;
+    var connections = handler.connections;
     await webdriver.get('http://localhost:${server.port}');
     await connections.next;
     await webdriver.get('http://localhost:${server.port}');
@@ -52,7 +52,7 @@
   });
 
   test('Routes data correctly', () async {
-    var connections = await handler.connections;
+    var connections = handler.connections;
     await webdriver.get('http://localhost:${server.port}');
     var connectionA = await connections.next;
     await webdriver.get('http://localhost:${server.port}');
diff --git a/tool/travis-setup.sh b/tool/travis-setup.sh
old mode 100644
new mode 100755