A decorator is usually a purpose that will take a purpose being an argument and returns a closure. The closure is often a set of interior features and free variables. Below is another example on how @property might help when a single must refactor code and that is taken from https://smartworlddeveloper.co.in/