Additionally:
I do not know why watching `invoice_id.residual` causes this to happen, seemingly nothing in this method did anything to explain it (i.e. the refactor on line 78 didn't help but I decided to leave it)
Best guess would be some part of the core trying to decide which invoices to pay.