The only problem I see with this approach is that the Rollups now don't necessarily have to implement the compute* methods (either via interface or extending base class).