   - same as :on-create but require a one-argument function."
   [name & {:keys [extends prefix on-create on-create-options-menu
                   on-options-item-selected on-activity-result
-                  on-new-intent def state key]
+                  on-new-intent def state key features]
            :as options}]
   (let [options (or options {}) ;; Handle no-options case
         sname (simple-name name)
-        prefix (or prefix (str sname "-"))]
+        prefix (or prefix (str sname "-"))
+        state (or state `(atom {}))]
     (when def
       (println "WARNING: :def attribute in defactivity is deprecated.
 Use (*a) to get the current activity."))


  :extends, :prefix - same as for `gen-class`.

  :def - symbol to bind the Activity object to in the onCreate
  method. Relevant only if :create is used.

  :on-create - takes a two-argument function. Generates a handler for
  activity's `onCreate` event which automatically calls the

             ~(when key
                `(.put all-activities ~key ~'this))
             (neko.init/init (.getApplicationContext ~'this))
             ~(when features
                `(request-window-features! ~'this ~@features))
             (~on-create ~'this ~'savedInstanceState)))
       ~(when on-create-options-menu
          `(defn ~(symbol (str prefix "onCreateOptionsMenu"))
