# PropertySystem ## Functions |Method|Returns|Description| |---|---|---| |[PropertySystem.addSetterHook](#PropertySystem.addSetterHook)|-| |[PropertySystem.blueprint](#PropertySystem.blueprint)|table| |[PropertySystem.combineProperties](#PropertySystem.combineProperties)|-| |[PropertySystem.createFromBlueprint](#PropertySystem.createFromBlueprint)|-| |[PropertySystem.defineProperty](#PropertySystem.defineProperty)|-| |[PropertySystem:__init](#PropertySystem:__init)|-| |[PropertySystem:_updateProperty](#PropertySystem:_updateProperty)|-| |[PropertySystem:getPropertyConfig](#PropertySystem:getPropertyConfig)|-| |[PropertySystem:instanceProperty](#PropertySystem:instanceProperty)|-| |[PropertySystem:observe](#PropertySystem:observe)|-| |[PropertySystem:removeAllObservers](#PropertySystem:removeAllObservers)|-| |[PropertySystem:removeObserver](#PropertySystem:removeObserver)|-| |[PropertySystem:removeProperty](#PropertySystem:removeProperty)|-| ## PropertySystem.addSetterHook() ## PropertySystem.blueprint(elementClass) Creates a blueprint of an element class with all its properties ### Parameters * `elementClass` `table` The element class to create a blueprint from ### Returns * `table` `blueprint` A table containing all property definitions ## PropertySystem.combineProperties() ## PropertySystem.createFromBlueprint() ## PropertySystem.defineProperty() ## PropertySystem:__init() ## PropertySystem:_updateProperty() ## PropertySystem:getPropertyConfig() ## PropertySystem:instanceProperty() ## PropertySystem:observe() ## PropertySystem:removeAllObservers() ## PropertySystem:removeObserver() ## PropertySystem:removeProperty()