add observer class for intercepting product add cart event