I can only show it up to the point of confusion.
1. Play Procession on BoM, choosing Fortress
2. Play "Fortress" once, get +1 Card, +2 Actions
3. Play "Fortress" again, get +1 Card, +2 Actions
4. Trash "Fortress" -> confusion
The thing is, for me "leave play" happens before Trashing.
Leaving play happens
as soon as a card is moved from the play area (I think). At this point the destination may be unknown and the destination may even change. Suppose a card has the reaction "when you would trash a card, put it in your hand" then the card would leave play first, but never actually hit the trash, like Trader's reaction causes the originally gained card to never be in your discard pile.
"When trashed" happens
after a card has been put in the trash, which is after leaving play.
Continuing with my assumptions:
5. BoM has left play (but has not yet been trashed) and is now BoM again
6. BoM hits the trash exactly as BoM
7. Gain a cord costing exactly one more than BoM (usually a $6)