Refactor of translatable_property to support set & delete