If you try to get data after logic.run(), you will realize it is executed regardless of the logic not being finished yet. One way handle this case you need to do this in the callback method, but it is extremely difficult to do this.
The other way is to use with sentences, the logic will no call exit until it finishes and the it will still be visible under context manager