I was thinking a bit about the model objects as interfaces vs POJO vs JPAPOJO and thought of a slightly different approach. What if we keep the model objects as POJOs and allow the persistence layer to create their own model objects that extend the Rave model and decorate them according to their own persistence strategy? Since we (I think) all plan on treating the Rave model objects as POJOs, regardless of their underlying nature, this approach may serve everyone's needs.
Unless there are objections, I am going to replace Jesse's mock persistence layer with a JPA layer that hits an in-memory database and uses the strategy outlined above. -Matt
