case class User
  def findById(id) → Option[T]
  def save(entity) → T
class UserService
  def getUser(id) → Option[User]
  def createUser(dto) → User
object UserService
  def apply(repo) → UserService
def hashPassword(password) → String
