sorry if i am not being clear  i am suggesting that you change activatetabat to take enough context so that tabstripmodel can entirely control calling to the latency recorder  what is the user gesture argument should become an enum tabstripmodel  activatetabsource kmouse  ktouch  kotherusergesture  knongesture  tabstripmodel  activatetabsource source kotherusergesture if  event type ui  et mouse pressed source kmouse model activatetabat model index  source if you do this  then i do not think you need to expose the latency recorder at all 