changed the server interface to require metainfo interface instead of implementation
reduced methods in factory interface