There is no computer science problem that cannot be complicated by several gratuitous layers of indirection.