         (string (cl-second contents))
         (start nil))
     (with-current-buffer  (emacspeak-maths-output emacspeak-maths)
-          (setq start (goto-char (point-max)))
-          (insert string)
-          (put-text-property
-           start (point)
-           'personality (emacspeak-maths-acss acss)))))
-
+      (setq start (goto-char (point-max)))
+      (insert string)
+      (put-text-property
+       start (point)
+       'personality (emacspeak-maths-acss acss)))))
 
 (defun emacspeak-maths-parse-pause (contents)
   "Parse Pause value."
   (declare (special emacspeak-maths))
   (cl-assert (numberp contents) t "%s is not a number. " contents)
-    (with-current-buffer  (emacspeak-maths-output emacspeak-maths)
-      (goto-char (point-max))
-      (insert "\n")
-          (put-text-property (1- (point)) (point) 'pause contents)))
-          
-  
+  (with-current-buffer  (emacspeak-maths-output emacspeak-maths)
+    (goto-char (point-max))
+    (insert "\n")
+    (put-text-property (1- (point)) (point) 'pause contents)))
+
+;;}}}
+;;{{{ Map Handlers:
+(cl-loop
+ for f in
+ '(exp pause text)
+ do
+ (emacspeak-maths-handler-set f
+                              (intern (format "emacspeak-maths-parse-%s"  (symbol-name f)))))
+
 ;;}}}
 ;;{{{ Process Filter:
 

;;}}}
;;{{{ Handlers:


;;; All handlers are called with the body of the unit being parsed.


(defun emacspeak-maths-parse (sexp)
  "Top-level parser dispatch.

  (when (process-live-p (emacspeak-maths-server-process emacspeak-maths))
    (delete-process (emacspeak-maths-server-process emacspeak-maths)))
  (when (buffer-live-p (emacspeak-maths-server-buffer emacspeak-maths))
    (kill-buffer (emacspeak-maths-server-buffer emacspeak-maths)))
  (when (buffer-live-p (emacspeak-maths-client-buffer emacspeak-maths))
    (kill-buffer (emacspeak-maths-client-buffer emacspeak-maths)))
  (message "Shutdown Maths server and client."))

;;}}}
