What is a good program for timing activities? I am looking for a program to time projects and activities, both computer- and real life-based, allowing me to tell him to start and stop timing this or that activity, in a very light, background, non-invasive way, and possibly keping past data about time intervals spent on various activities.

I have been trying out such a program called TrackTime, but it is (at least on my 10.5 MacBook) quite slow to react, and cannot show easily data for more than five or so activities.

Any suggestion for such a program?



UPDATE: Thanks everybody for your answers, but I am not sure I have yet found what I am looking for. For instance, while I appreciate the usefulness of these features, I am not interested in iCal integration, nor in the ability to create invoices.
Basically, what I am looking for is just a sort of "multi-timer", in which each timer can be easily started/stopped, and which logs the timings in any readable form. It may well be, as someone suggested, that it can be done with just some script.
I like/use Billings.