More scala work.

Commit messages will be fairly vague due to the amount of work done at each.