refactor basket and transaction into cart helper, update observer and also removed duplicate isCategory condition