Abilities

name
Object has a name and a list of aliases that can be used to identify the object.

containable
Object may be contained in the enviornment of another object.

container
[inherits containable]
Object can contain other objects in its environment. You should not bypass the container ability by directly moving things from one evironment to another.

measurable
Object can be measured (e.g., money, food, fuel), and only part of an object can be taken away, or two objects of the same measurable kind can merge together (two piles of money).

movable
[inherits containable]
Object can be moved from one environment to another.

sensor
Object can receive messages.

emitter
Object can emit messages (both requested and generated).

saveable
Object may save itself or part of itself on disk (players, bulletin boards, etc.)

reconstruct
Object may be reconstructed (e.g. auto-load objects).