Bare shopping cart component interface and a reference implementation in C#