In Java I sometimes use class variables to assign a unique ID to each new instance. I do something like
public class
Variables on the companion object:
object Foo{ private var current = 0 private def inc = {current += 1; current} } class Foo{ val i = Foo.inc println(i) }