When I write new code, I lean heavily toward solving the more general case of the problem I've been told to solve. For example, I've been told to implement some specific camera moves in a 3D infographics system, yet what I'm trying to solve is the problem of how to represent any transition M between any range of values [A, B], and how to overlap any N transitions belonging to the space [M, A, B, T, U] where [T, U] is the time interval.