Implicit Defrag
Integrate the defragger into the natural spending habits of the wallet. If a user has too many outputs, when spending a transaction roll them up automatically instead of doing it periodically using the defragger background thread. Caveat: if the number of outputs crosses a certain threshold, run the automatic defragger anyway. But we can run the defragger based on receiving new outputs rather than having a permanent background loop
Edited by Matthew Sevey