The definition of the element types, their properties, the messages that can be sent to them, and the methods that respond to those messages.