To detect whether a transaction is viable, and possible conflicts, you can rely on the mempool (aka confirmations < 0). You only need the clone/double spend detection to copy metadata I think.