Just an observation - should the detach() method in LoadableDetachableModel be final? It adds the onDetach() hook for subclasses to implement. Would there be a case where you want to override detach() and NOT let the LDM do it's detach (by not calling super / on purpose or accident)?
Jeremy Thomerson