Abstractions, Future-Proofing, and a Reasonable Amount of Effort