I like the abstract runnable idea. I think RollupRunnable should be the abstract one. The current RollupRunnable has to be renamed to BasicRollupRunnable I think.