[eluser]Pygon[/eluser]
Typically you would make apple a storage class (an apple might be round, have a core, etc) but your manipulation functions would be part of your model (fruit->eat(the_apple), if(fruit->has_peel(the_apple) ){ fruit->peel(the_apple) }, etc.
Models are your accessors/manipulators/etc for storage types (database, object, file, etc).