     :name s/Keyword
     (s/optional-key :description) s/Str
     :extends [s/Keyword]
-    :relaions [Relation]
-    :attrs {s/Keyword s/Keyword}
-  })
-
-(s/defschema Listener {
-    :id s/Str
-    :action-url s/Str
-    :world s/Keyword
-    :type s/Keyword
-    :obj-id s/Str
+    :attrs {s/Keyword s/Str} ;{attr schema}
+    :actions {s/Keyword s/Keyword} ;{action model}
   })
 
 (s/defschema World {

    [schema.core :as s]
    )
  )

(s/defschema Relation {
    :relation-type s/Keyword
    :src-attr s/Keyword
    :dst-model s/Keyword
    :dst-attr s/Keyword
  })

(s/defschema Model {
    :full-name s/Keyword

    :model s/Keyword
    :tags [s/Keyword]
    :attrs {s/Keyword s/Any}
    :parent-id s/Str
  })

(s/defschema EntityListener {
    :action-url s/Str
    :world s/Keyword
    :action s/Keyword
    :entity-id s/Str
  })

(s/defschema Event {
    :id s/Str
    :action s/Keyword
    :action-entity-id s/Str
    :listener-id s/Str
    :instance Entity
  })
