Yup. This is a pattern I would use frequently, too. Especially important across module boundaries or for limiting view refreshes.
The two recommendations are to a) use computed properties, or b) use this pattern:
However, method A suffers from unnecessary view refreshes, while method B suffers from the async hop (which is one of the reasons async sequences were dropped) which will cause broken view invariants/ non synchronised view updates. I wrote a bit more about that here.