                  ". Was expecting :fullscreen or 2 elements vector: "
                  "[width height].")))))
 
-(defn- to-method-name [keyword]
-  "Converts keyword to java-style method symbol. :on-key-pressed => onKeyPressed"
+(defn- to-method-name
+  "Converts keyword to java-style method symbol.
+  `:on-key-pressed` => `onKeyPressed`"
+  [keyword]
   (-> keyword
       name
       (string/replace

      (attach-applet-listeners))))

(defmacro defapplet
  "Define and start an applet and bind it to a var with the symbol
  app-name. If any of the options to the various callbacks are
  symbols, it wraps them in a call to var to ensure they aren't
  inlined and that redefinitions to the original fns are reflected in
  the visualisation. See applet for the available options."
  [app-name & opts]
  (letfn [(wrap [v]
            (if (symbol? v)

    (resolve-renderer initial-renderer)))

(defmacro generate-listeners
  "Generates all listeners like `onKeyPress`, `onMouseClick` and others."
  []
  (letfn [(prefix [v method]
            (symbol (str v method)))
