Well, for me I would look at the process as a transaction. I would have a start() method that sets up everything... store each purchase amount in an array so you can easily get a count and also...