Any problem in computer science can be solved with another layer of indirection.
The only source of knowledge is experience.