this is not ideal but i think a good tradeoff  it allows us to keep the current semantics of haspendingactivity in order to get rid of this trait we would need to model executioncontext to have a regular reference to asw and then explicitly remove that reference once haspendingactivity would go to false  that s maybe doable but should be done separately 