[Cart] Move events into component