scala: Migrate to Scala
Merge branch 'enhancement/scala' into next