Soulbinding NFTs for Royalty: Alternative to EIP-2981

Desired feature: Pay royalty on each sale
Issue in coding: Assumption in EIP2981 - “It is impossible to know which NFT transfers are the result of sales, and which are merely wallets moving or consolidating their NFTs.”
Proposed Idea: Soulbind the NFT to its ownership, & track it to determine transfer or sale.
Solution(Improvement to EIP2981): We can additinally have a “recall” function & track “last owner” who can call this function.
So if a royalty is paid, the “last owner” is now the new owner, who has the recall power.
So every buyer who bought it without royalty payment has fear of being recalled by previous owner.