Don't volunteer too much: Avoid returning handles to internal data managed by your class, so clients won't uncontrollably modify state that your object thinks it owns.
Python SQL Java php Perl game development web development internet *nix graphics hardware telecommunications C++ Flash Active Directory Windows