Premature abstraction is as bad as premature optimization.

—Luciano Ramalho