In my usage of Stampie I don't extend the Message class, I implement the interface because I already have a base Model class of sorts I'm extending. If it didn't have the Message interface, I would have to have my message build a Stampie message just to work with it. I think forcing everyone to use this Attachment class would be a similar restriction, meaning if someone were to have something like a "file" class already they couldn't just make that compatible with Stampie, and would instead have to make that then build another instance.

Basically in my mind an interface for an attachment is as valid or invalid as an interface for a message, so if one should or shouldn't exist then the same reasoning should apply to the other. That's my view, but if you two agree that just the attachment interface should go I'll make the change!