var Animal = new Class({
	Implements: [Events, Options],
	
	options: {
		verb: 'sagt'
	},
	
	initialize: function(name, options){
		this.setOptions(options);
		this.name = name;
	},
	
	eat: function(food){
		log(this.name + ' ' + this.options.verb + ': Mhh, ' + food);
		this.fireEvent('eat', [food]);
	},
	
	toString: function(){
		return this.name;
	}
});

var tom = new Animal('Tom');
var jerry = new Animal('Jerry');

tom.addEvent('eat', function(food){
	log(this.name + ' ate ' + food);
});
tom.eat(jerry); // Tom sagt: Mhh, Jerry
                // Tom ate Jerry
