                     (flow-condition-entry-options)
                     (= view :lifecycles)
                     (lifecycle-entry-options)
+                    (= view :lifecycle-calls)
+                    (lifecycle-calls-entry-options)
                     (= view :windows)
                     (window-entry-options)
+                    (= view :state-aggregation)
+                    (state-aggregation-entry-options)
                     (= view :triggers)
                     (trigger-entry-options)
                     (= view :peer-config)

(defn lifecycle-entry-options []
  (feature-options model :lifecycle-entry))

(defn window-entry-view []
  (feature-view :window-entry))

(defn window-entry-options []
  (feature-options model :window-entry))

(defn trigger-entry-view []
  (feature-view :trigger-entry))

    :window/aggregation
    {:doc "If this value is a keyword, it is a fully qualified, namespaced keyword pointing to a symbol on the classpath at runtime. This symbol must be a map with keys as further specified by the information model. Onyx comes with a handful of aggregations built in, such as `:onyx.windowing.aggregation/min`. See the User Guide for the full list. Users can also implement their own aggregations.

          If this value is a vector, it contain two values: a keyword as described above, and another keyword which represents the key to aggregate over."
     :type [:keyword [:keyword]]
     :optional? false}

