   (let [p (proxy robot)]
     (if (nil? p) (make-proxy robot proxy) p)))
 
+(defn call-service
+  "Call an operation on a service"
+  [robot proxy-sym operation params]
+  (.call (get-proxy robot proxy-sym) operation (into-array params)))
+
 ;; (defn make-variant
 ;;   "Make instance of Aldebaran ALValue (Variant in java)"
 ;;   [val]

  []
  (com.aldebaran.qimessaging.Application.))

(defn make-session
  "Create a session connected to a robot"
  [hostname port]

(defn say
  "Say something"
  [robot text]
  (.call (get-proxy robot :tts) "say" (into-array [text])))

(defn get-language
  "Get the currently defined text-to-speech language"
