Modify ProfileSummary class to make it not instrumented profile specific. Add a new InstrumentedProfileSummary class that inherits from ProfileSummary. This would avoid the ugliness of having to bases sample profile specific summary information in instrumented profiling terms.
I have also moved MaxFunctionCount to the derived class even though the notion of max of weights at function entry is relevant to SampleProfile. I want to keep the base class only about a set of weights, their count, sum, max and detailed summary.