Hola:
Los objetos ajax tienen su propio manejador de eventos llamado onreadystatechange, o sea que se activa cuando el objeto cambia de estado (atributo readyState) solo tienes que mirar en el código del mensaje que has mencionado antes como se define ese manejador de eventos.
Además al ser un objeto le puedes crear nuevos métodos y atributos, pero no viene al caso.
Saludos