I don't know Scala, but the Erights language does something like (pseudo-syntax):
def Circle(center, radius):
circumference = 2 * pi * radius
return object:
to getCircumference():
return circumference
to ...
The "self" is the lexical scope. Simple and more effective than Python's method, IMO.