Ecoop 2005 - Object Oriented Programming by Andrew Black