title: Is Scala ExecutionContext as Class or Method parameter more idiomatic?
body: <p>Is it more <em>idiomatic Scala</em> to pass in <code>ExecutionContext</code> per method like</p>
  
  <pre class="lang-scala prettyprint-override"><code>class Foo {
      def bar(a: Int, b: Int)(implicit ec: ExecutionContext): Future[Int] = {
          Future(a + b)
      }
  
      def baz(a: Int, b: Int)(implicit ec: ExecutionContext): Future[Int] = {
          Future(a - b)
      }
  }
  </code></pre>
  
  <p>or better to pass in <code>ExecutionContext</code> per class like</p>
  
  <pre class="lang-scala prettyprint-override"><code>class Foo(implicit ec: ExecutionContext) {
      def bar(a: Int, b: Int): Future[Int] = {
          Future(a + b)
      }
  
      def baz(a: Int, b: Int): Future[Int] = {
          Future(a - b)
      }
  }
  </code></pre>
  
  <p>Is one style usually more preferred in Scala world because it causes less surprises, is easier to read, or for other reasons? Please give some references if possible.</p>