Property class self-compress/decompress of props