1. In a computer telephony system for providing integrated telephone and data applications, the computer telephony system including a computer having a processor and a memory, a software architecture implemented on the computer comprising: a plurality of user agents, each user agent representing a known user of the computer telephony system and including: a scenario defining a call processing behavior of the user agent; and a set of properties for customizing the call processing behavior defined by the scenario; and a plurality of sessions, each session including a thread of execution on the processor and controlling a subset of the memory and at least one system resource, wherein each session implements one of the plurality of user agents, the one of the plurality of user agents defining the call processing behavior of its associated session in accordance with its corresponding scenario and set of properties, and wherein the scenario and the set of properties for each user agent are configurable during runtime of the software architecture, thereby allowing the call processing behavior the computer telephony system to be modified for each of the known users.