A decorator is a purpose that requires a purpose as an argument and returns a closure. The closure can be a list of internal capabilities and totally free variables. Below is another example on how @property may help when one has to refactor code which happens to be taken from https://plotsinsohna.in/