It is, simply put, an event based scenario. Depending on what you want to track, you can use standard events (those offered by the Framework classes) or create your own events to deal with your application's business logic (by building your own event handler delegate classes). Also, depending on the amount of user data you want to track, you can store it in simple XML files (if the amount is small) or in a more sophisticated data store like an Access or SQL server database (if you want to store large quantities or complex relationships of user data).