added static server::factory in order to create first shared_ptr from server instance