This is insanely cool if you think about it. It represents composability at its finest.
📦You can define your own attachment and place it on *any* resource (like an NFT) that you own. You are literally building on top of pre-defined assets.
This is the first part of the transaction to get run.
⚠️It is also the only place you have access to the signer's `AuthAccount`, a type that allows you to have full access to an account.
It is best practice to only use the prepare phase for things that require the `AuthAccount` type, like borrowing a reference to a user's NFT Collection.
You can think of the prepare phase as the "setup" of a transaction.