Changed overridden functions to decorators
Changed overridden functions to decorators, so it is possible to define behaviour on instance instead of creating specific classes.
Changed overridden functions to decorators, so it is possible to define behaviour on instance instead of creating specific classes.