Simple, typesafe, boilerplate-reduced dependency injection for Scala