Personally I generally just use lambdas for most callbacks. I could see an argument for using interfaces if you want Java interop (calling methods that take Kotlin-lambdas is awkward in Java 6). I think I would use an interface if I was going to use the set of methods in multiple places and there were multiple methods that were always used together.