Replaced the Plugin class

The Plugin class now has a much simpler implementation based on sending
messages to any method with a 'receives' attribute.