when loading a node from the database, you can either explicitly specify the document class to be used or it is determined programmatically. you can inject your own logic, but the default logic is right in UnitOfWork, and duplicated. this should be moved to a separate class for better reusability.
this would also be a good moment to get rid of phpcr:alias in favor of phpcr:class. we could provide an implementation for the old phpcr:alias as one of the resolvers users can plug in, if somebody really prefers the alias approach.