Code refactor
diff --git a/lib/src/benchmark_base.dart b/lib/src/benchmark_base.dart
index c3be399..f741da6 100644
--- a/lib/src/benchmark_base.dart
+++ b/lib/src/benchmark_base.dart
@@ -7,8 +7,10 @@
   final ScoreEmitter emitter;
 
   // Empty constructor.
-  const BenchmarkBase(String name, { ScoreEmitter emitter }) : this.name = name,
-    this.emitter = emitter;
+  const BenchmarkBase(String name,
+      { ScoreEmitter emitter: const PrintEmitter() })
+      : this.name = name,
+        this.emitter = emitter;
 
   // The benchmark code.
   // This function is not used, if both [warmup] and [exercise] are overwritten.
@@ -60,11 +62,7 @@
   }
 
   void report() {
-    double score = measure();
-    print("$name(RunTime): $score us.");
-    if( emitter != null ) {
-      emitter.emit(name, score);
-    }
+    emitter.emit(name, measure());
   }
 
 }
diff --git a/lib/src/score_emitter.dart b/lib/src/score_emitter.dart
index 919b97a..0e8af2d 100644
--- a/lib/src/score_emitter.dart
+++ b/lib/src/score_emitter.dart
@@ -1,7 +1,13 @@
 part of benchmark_harness;
 
 abstract class ScoreEmitter {
-
   void emit(String testName, double value);
+}
 
+class PrintEmitter implements ScoreEmitter {
+  const PrintEmitter();
+
+  void emit(String testName, double value) {
+    print("$testName(RunTime): $value us.");
+  }
 }
\ No newline at end of file
diff --git a/pubspec.yaml b/pubspec.yaml
index 2330e34..db341d0 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -7,4 +7,3 @@
   browser: any
 dev_dependencies:
   unittest: any
-  di: 0.0.32
diff --git a/test/result_emitter_test.dart b/test/result_emitter_test.dart
index e50f1c7..4975835 100644
--- a/test/result_emitter_test.dart
+++ b/test/result_emitter_test.dart
@@ -2,8 +2,6 @@
 
 import 'fixed-unittest.dart';
 import 'package:unittest/mock.dart';
-import 'package:di/di.dart';
-import 'package:di/dynamic_injector.dart';
 import 'package:benchmark_harness/benchmark_harness.dart';
 
 
@@ -34,17 +32,6 @@
   void teardown() { }
 }
 
-// Create a new benchmark which has no emitter
-class BenchmarkWithoutResultEmitter extends BenchmarkBase {
-  const BenchmarkWithoutResultEmitter() : super("Template");
-
-  void run() { }
-
-  void setup() { }
-
-  void teardown() { }
-}
-
 benchmarkHarnessTest() {
   MockResultEmitter createMockEmitter() {
     MockResultEmitter emitter = new MockResultEmitter();
@@ -54,26 +41,9 @@
   describe('ResultEmitter', () {
     it('should be called when emitter is provided', () {
       MockResultEmitter emitter = createMockEmitter();
-      Module module = new Module()..value(ScoreEmitter, emitter )
-          ..type(BenchmarkWithResultEmitter);
-      Injector i = new DynamicInjector(modules: [module]);
-
-      var testBenchmark = i.get(BenchmarkWithResultEmitter);
+      var testBenchmark = new BenchmarkWithResultEmitter(emitter);
       testBenchmark.report();
       emitter.getLogs(callsTo('emit')).verify(happenedOnce);
     });
   });
-
-  describe('ResultEmitter', () {
-    it('should not be called when emitter is not provided', () {
-      MockResultEmitter emitter = createMockEmitter();
-      Module module = new Module()..value(ScoreEmitter, emitter )
-          ..type(BenchmarkWithoutResultEmitter);
-      Injector i = new DynamicInjector(modules: [module]);
-
-      var testBenchmark = i.get(BenchmarkWithoutResultEmitter);
-      testBenchmark.report();
-      emitter.getLogs(callsTo('emit')).verify(neverHappened);
-    });
-  });
 }
\ No newline at end of file