Bryon,
can-connect (http://connect.canjs.com/) might be useful.
It allows you to create different instances based on a connection.
Another alternative might be to overwrite Document.models so that
it creates the right innstances.