...any abstraction that makes it harder to understand the code for current requirements is presumed guilty.