Ref: #15138 (comment)
Theoretically, we could have
POSCollectOrderPaymentAnalyticsTracking: CollectOrderPaymentAnalyticsTracking that has func trackCustomerInteractionStarted(), and POSCollectOrderPaymentAnalytics would implement POSCollectOrderPaymentAnalyticsTracking. This way non-POS parts of the code, such as various preflight controllers wouldn't have knowledge of trackCustomerInteractionStarted. POS aggregate model would expect POSCollectOrderPaymentAnalyticsTracking.