title: object vs val for singletons?
body: <p>Which of the following ways is better/preferred? How are they different?</p>
  
  <pre><code>trait MyService {
    def foo: String
  }
  
  class MyTest {
    // variant 1
   object fooService1 extends MyService {
     val foo = "foo1"
   }
   // variant 2
   val fooService2 = new MyService {
     val foo = "foo2"
   }
   // (...)
  }
  </code></pre>