The first law of computer science: Every problem is solved by yet another indirection.