Added beginning of Agent interface and UserModel that drives each virtual agent.