Flexible Scheme objects with prototypes and message passing