this is a neat solution. another one that requires slightly less code and allows us to rely on the core implementation of setup_property is to use alias_method_chain