@@ -0,0 +1,600 @@
+package com.timgroup.tucker.info.component;%0A%0Aimport com.timgroup.tucker.info.Component;%0Aimport com.timgroup.tucker.info.Report;%0Aimport com.timgroup.tucker.info.Runbook;%0A%0Apublic class ComponentWithRunbookWrapper extends Component %7B%0A%0A    private final Component wrappedComponent;%0A%0A    public ComponentWithRunbookWrapper(Component wrappedComponent, Runbook runbook) %7B%0A        super(wrappedComponent.getId(), wrappedComponent.getLabel(), runbook);%0A        this.wrappedComponent = wrappedComponent;%0A    %7D%0A%0A    @Override%0A    public Report getReport() %7B%0A        return wrappedComponent.getReport();%0A    %7D%0A%7D%0A

Add a wrapper for component that allows specifying an alternate default runbook.