Kala does not restrict you to any particular model. That is, Kala provides the mechanism, but imposes no policy. Kala can be used either as a link library communicating to a remote server or as a standalone executable working direct to disk. Kala is compact and simple. Prototypes combine inheritance and instantiation to provide a framework that is simpler and more flexible than most object-oriented languages.
Slots unite variables and procedures into a single construct.
This permits the inheritance hierarchy to take over the function of lexical scoping in conventional languages. Finally, because Self does not distinguish state from behavior, it narrows the gaps between ordinary objects, procedures, and closures. Self's simplicity and expressiveness offer new insights into object-oriented computation. The original tuple space, due to Gelernter. Emphasis seems to have been entirely on communication between processes.