1. An agent comprising: an interpreter that receives an input event and outputs a social event based on the interpretation of the input event; a social response generator that receives the social event, an output from an emotional state register and an output from a predefined personality trait register, and updates at least one of a current state of the emotional state register and a social response message stored an event buffer; an emotion generator that outputs an emotion response message based on at least one of the social response message stored in the event buffer, one or more outputs of the predefined personality trait register, or one or more outputs of the emotional state register; a manifester that receives the emotion response message output from the emotion generator and converts the emotion response message into a behavior message; and a role database comprising social characteristics used by the interpreter to create social events and data used by the manifester to convert the emotion response message into the behavior message.