maybe it's better to have an observer on this key to store the current value in a local property, so that you don't need to have this complex asynchronous operation here