Classes versus interfaces