So... I should use external power source to power anything greater than 40mA? Alright, thanks
Actually 40ma is a AVR maximum never exceed rating, 20-25ma is a better maximum limit to stick to. Anything above that one uses a switching device (npn transistor, mosfet, etc) to switch the higher current load. You don't always have to use external power, say if the load device is a +5vdc device you can use the Arduinos +5vdc power to a overall current draw of less then about 500ma or so, but you do need to stay under any digital output pin current limit with switching devices mentioned.
Lefty