Handler for working with reports that could take many report frames to complete
This handler will handle aggregating the responses into one report command for ease of consumption by callers.
@type opt() :: {:complete_report, atom(), [{:aggregate_param, atom()}]}
@type state() :: %{ complete_report: atom(), aggregate_param: atom(), aggregates: [any()] }