diff --git a/lib/private/Server.php b/lib/private/Server.php
index 55a3d2da7d885e0dd56bd7a8de9297a0569c79b9..c38965000f26d77ccb1fff83162ea19dc9551e49 100644
--- a/lib/private/Server.php
+++ b/lib/private/Server.php
@@ -61,7 +61,6 @@ use OC\App\AppStore\Bundles\BundleFetcher;
 use OC\App\AppStore\Fetcher\AppFetcher;
 use OC\App\AppStore\Fetcher\CategoryFetcher;
 use OC\AppFramework\Http\Request;
-use OC\AppFramework\Utility\SimpleContainer;
 use OC\AppFramework\Utility\TimeFactory;
 use OC\Authentication\Events\LoginFailed;
 use OC\Authentication\Listeners\LoginFailedListener;
@@ -191,6 +190,7 @@ use OCP\IPreview;
 use OCP\IRequest;
 use OCP\ISearch;
 use OCP\IServerContainer;
+use OCP\ISession;
 use OCP\ITagManager;
 use OCP\ITempManager;
 use OCP\IURLGenerator;
@@ -289,22 +289,28 @@ class Server extends ServerContainer implements IServerContainer {
 		$this->registerAlias(IActionFactory::class, ActionFactory::class);
 
 
-		$this->registerService(IPreview::class, function (Server $c) {
+		$this->registerService(IPreview::class, function (ContainerInterface $c) {
 			return new PreviewManager(
-				$c->getConfig(),
-				$c->getRootFolder(),
-				new \OC\Preview\Storage\Root($c->getRootFolder(), $c->getSystemConfig()),
-				$c->getEventDispatcher(),
-				$c->getGeneratorHelper(),
-				$c->getSession()->get('user_id')
+				$c->get(\OCP\IConfig::class),
+				$c->get(IRootFolder::class),
+				new \OC\Preview\Storage\Root(
+					$c->get(IRootFolder::class),
+					$c->get(SystemConfig::class)
+				),
+				$c->get(SymfonyAdapter::class),
+				$c->get(GeneratorHelper::class),
+				$c->get(ISession::class)->get('user_id')
 			);
 		});
 		/** @deprecated 19.0.0 */
 		$this->registerDeprecatedAlias('PreviewManager', IPreview::class);
 
-		$this->registerService(\OC\Preview\Watcher::class, function (Server $c) {
+		$this->registerService(\OC\Preview\Watcher::class, function (ContainerInterface $c) {
 			return new \OC\Preview\Watcher(
-				new \OC\Preview\Storage\Root($c->getRootFolder(), $c->getSystemConfig())
+				new \OC\Preview\Storage\Root(
+					$c->get(IRootFolder::class),
+					$c->get(SystemConfig::class)
+				)
 			);
 		});
 
@@ -312,13 +318,13 @@ class Server extends ServerContainer implements IServerContainer {
 			$view = new View();
 			$util = new Encryption\Util(
 				$view,
-				$c->getUserManager(),
-				$c->getGroupManager(),
-				$c->getConfig()
+				$c->get(IUserManager::class),
+				$c->get(IGroupManager::class),
+				$c->get(\OCP\IConfig::class)
 			);
 			return new Encryption\Manager(
-				$c->getConfig(),
-				$c->getLogger(),
+				$c->get(\OCP\IConfig::class),
+				$c->get(ILogger::class),
 				$c->getL10N('core'),
 				new View(),
 				$util,
@@ -328,30 +334,35 @@ class Server extends ServerContainer implements IServerContainer {
 		/** @deprecated 19.0.0 */
 		$this->registerDeprecatedAlias('EncryptionManager', \OCP\Encryption\IManager::class);
 
-		$this->registerService('EncryptionFileHelper', function (Server $c) {
+		$this->registerService('EncryptionFileHelper', function (ContainerInterface $c) {
 			$util = new Encryption\Util(
 				new View(),
-				$c->getUserManager(),
-				$c->getGroupManager(),
-				$c->getConfig()
+				$c->get(IUserManager::class),
+				$c->get(IGroupManager::class),
+				$c->get(\OCP\IConfig::class)
 			);
 			return new Encryption\File(
 				$util,
-				$c->getRootFolder(),
-				$c->getShareManager()
+				$c->get(IRootFolder::class),
+				$c->get(\OCP\Share\IManager::class)
 			);
 		});
 
-		$this->registerService('EncryptionKeyStorage', function (Server $c) {
+		$this->registerService('EncryptionKeyStorage', function (ContainerInterface $c) {
 			$view = new View();
 			$util = new Encryption\Util(
 				$view,
-				$c->getUserManager(),
-				$c->getGroupManager(),
-				$c->getConfig()
+				$c->get(IUserManager::class),
+				$c->get(IGroupManager::class),
+				$c->get(\OCP\IConfig::class)
 			);
 
-			return new Encryption\Keys\Storage($view, $util, $c->getCrypto(), $c->getConfig());
+			return new Encryption\Keys\Storage(
+				$view,
+				$util,
+				$c->get(ICrypto::class),
+				$c->get(\OCP\IConfig::class)
+			);
 		});
 		/** @deprecated 20.0.0 */
 		$this->registerDeprecatedAlias('TagMapper', TagMapper::class);
@@ -360,52 +371,56 @@ class Server extends ServerContainer implements IServerContainer {
 		/** @deprecated 19.0.0 */
 		$this->registerDeprecatedAlias('TagManager', \OCP\ITagManager::class);
 
-		$this->registerService('SystemTagManagerFactory', function (Server $c) {
-			$config = $c->getConfig();
+		$this->registerService('SystemTagManagerFactory', function (ContainerInterface $c) {
+			/** @var \OCP\IConfig $config */
+			$config = $c->get(\OCP\IConfig::class);
 			$factoryClass = $config->getSystemValue('systemtags.managerFactory', SystemTagManagerFactory::class);
 			return new $factoryClass($this);
 		});
-		$this->registerService(ISystemTagManager::class, function (Server $c) {
-			return $c->query('SystemTagManagerFactory')->getManager();
+		$this->registerService(ISystemTagManager::class, function (ContainerInterface $c) {
+			return $c->get('SystemTagManagerFactory')->getManager();
 		});
 		/** @deprecated 19.0.0 */
 		$this->registerDeprecatedAlias('SystemTagManager', ISystemTagManager::class);
 
-		$this->registerService(ISystemTagObjectMapper::class, function (Server $c) {
-			return $c->query('SystemTagManagerFactory')->getObjectMapper();
+		$this->registerService(ISystemTagObjectMapper::class, function (ContainerInterface $c) {
+			return $c->get('SystemTagManagerFactory')->getObjectMapper();
 		});
-		$this->registerService('RootFolder', function (Server $c) {
+		$this->registerService('RootFolder', function (ContainerInterface $c) {
 			$manager = \OC\Files\Filesystem::getMountManager(null);
 			$view = new View();
 			$root = new Root(
 				$manager,
 				$view,
 				null,
-				$c->getUserMountCache(),
-				$this->getLogger(),
-				$this->getUserManager()
+				$c->get(IUserMountCache::class),
+				$this->get(ILogger::class),
+				$this->get(IUserManager::class)
 			);
 
-			$previewConnector = new \OC\Preview\WatcherConnector($root, $c->getSystemConfig());
+			$previewConnector = new \OC\Preview\WatcherConnector(
+				$root,
+				$c->get(SystemConfig::class)
+			);
 			$previewConnector->connectWatcher();
 
 			return $root;
 		});
-		$this->registerService(HookConnector::class, function (Server $c) {
+		$this->registerService(HookConnector::class, function (ContainerInterface $c) {
 			return new HookConnector(
-				$c->query(IRootFolder::class),
+				$c->get(IRootFolder::class),
 				new View(),
-				$c->query(\OC\EventDispatcher\SymfonyAdapter::class),
-				$c->query(IEventDispatcher::class)
+				$c->get(\OC\EventDispatcher\SymfonyAdapter::class),
+				$c->get(IEventDispatcher::class)
 			);
 		});
 
 		/** @deprecated 19.0.0 */
 		$this->registerDeprecatedAlias('SystemTagObjectMapper', ISystemTagObjectMapper::class);
 
-		$this->registerService(IRootFolder::class, function (Server $c) {
+		$this->registerService(IRootFolder::class, function (ContainerInterface $c) {
 			return new LazyRoot(function () use ($c) {
-				return $c->query('RootFolder');
+				return $c->get('RootFolder');
 			});
 		});
 		/** @deprecated 19.0.0 */
@@ -415,41 +430,41 @@ class Server extends ServerContainer implements IServerContainer {
 		$this->registerDeprecatedAlias('UserManager', \OC\User\Manager::class);
 		$this->registerAlias(\OCP\IUserManager::class, \OC\User\Manager::class);
 
-		$this->registerService(\OCP\IGroupManager::class, function (Server $c) {
-			$groupManager = new \OC\Group\Manager($this->getUserManager(), $c->getEventDispatcher(), $this->getLogger());
+		$this->registerService(\OCP\IGroupManager::class, function (ContainerInterface $c) {
+			$groupManager = new \OC\Group\Manager($this->get(IUserManager::class), $c->get(SymfonyAdapter::class), $this->get(ILogger::class));
 			$groupManager->listen('\OC\Group', 'preCreate', function ($gid) {
 				\OC_Hook::emit('OC_Group', 'pre_createGroup', ['run' => true, 'gid' => $gid]);
 
 				/** @var IEventDispatcher $dispatcher */
-				$dispatcher = $this->query(IEventDispatcher::class);
+				$dispatcher = $this->get(IEventDispatcher::class);
 				$dispatcher->dispatchTyped(new BeforeGroupCreatedEvent($gid));
 			});
 			$groupManager->listen('\OC\Group', 'postCreate', function (\OC\Group\Group $group) {
 				\OC_Hook::emit('OC_User', 'post_createGroup', ['gid' => $group->getGID()]);
 
 				/** @var IEventDispatcher $dispatcher */
-				$dispatcher = $this->query(IEventDispatcher::class);
+				$dispatcher = $this->get(IEventDispatcher::class);
 				$dispatcher->dispatchTyped(new GroupCreatedEvent($group));
 			});
 			$groupManager->listen('\OC\Group', 'preDelete', function (\OC\Group\Group $group) {
 				\OC_Hook::emit('OC_Group', 'pre_deleteGroup', ['run' => true, 'gid' => $group->getGID()]);
 
 				/** @var IEventDispatcher $dispatcher */
-				$dispatcher = $this->query(IEventDispatcher::class);
+				$dispatcher = $this->get(IEventDispatcher::class);
 				$dispatcher->dispatchTyped(new BeforeGroupDeletedEvent($group));
 			});
 			$groupManager->listen('\OC\Group', 'postDelete', function (\OC\Group\Group $group) {
 				\OC_Hook::emit('OC_User', 'post_deleteGroup', ['gid' => $group->getGID()]);
 
 				/** @var IEventDispatcher $dispatcher */
-				$dispatcher = $this->query(IEventDispatcher::class);
+				$dispatcher = $this->get(IEventDispatcher::class);
 				$dispatcher->dispatchTyped(new GroupDeletedEvent($group));
 			});
 			$groupManager->listen('\OC\Group', 'preAddUser', function (\OC\Group\Group $group, \OC\User\User $user) {
 				\OC_Hook::emit('OC_Group', 'pre_addToGroup', ['run' => true, 'uid' => $user->getUID(), 'gid' => $group->getGID()]);
 
 				/** @var IEventDispatcher $dispatcher */
-				$dispatcher = $this->query(IEventDispatcher::class);
+				$dispatcher = $this->get(IEventDispatcher::class);
 				$dispatcher->dispatchTyped(new BeforeUserAddedEvent($group, $user));
 			});
 			$groupManager->listen('\OC\Group', 'postAddUser', function (\OC\Group\Group $group, \OC\User\User $user) {
@@ -458,17 +473,17 @@ class Server extends ServerContainer implements IServerContainer {
 				\OC_Hook::emit('OC_User', 'post_addToGroup', ['uid' => $user->getUID(), 'gid' => $group->getGID()]);
 
 				/** @var IEventDispatcher $dispatcher */
-				$dispatcher = $this->query(IEventDispatcher::class);
+				$dispatcher = $this->get(IEventDispatcher::class);
 				$dispatcher->dispatchTyped(new UserAddedEvent($group, $user));
 			});
 			$groupManager->listen('\OC\Group', 'preRemoveUser', function (\OC\Group\Group $group, \OC\User\User $user) {
 				/** @var IEventDispatcher $dispatcher */
-				$dispatcher = $this->query(IEventDispatcher::class);
+				$dispatcher = $this->get(IEventDispatcher::class);
 				$dispatcher->dispatchTyped(new BeforeUserRemovedEvent($group, $user));
 			});
 			$groupManager->listen('\OC\Group', 'postRemoveUser', function (\OC\Group\Group $group, \OC\User\User $user) {
 				/** @var IEventDispatcher $dispatcher */
-				$dispatcher = $this->query(IEventDispatcher::class);
+				$dispatcher = $this->get(IEventDispatcher::class);
 				$dispatcher->dispatchTyped(new UserRemovedEvent($group, $user));
 			});
 			return $groupManager;
@@ -476,49 +491,49 @@ class Server extends ServerContainer implements IServerContainer {
 		/** @deprecated 19.0.0 */
 		$this->registerDeprecatedAlias('GroupManager', \OCP\IGroupManager::class);
 
-		$this->registerService(Store::class, function (Server $c) {
-			$session = $c->getSession();
-			if (\OC::$server->getSystemConfig()->getValue('installed', false)) {
-				$tokenProvider = $c->query(IProvider::class);
+		$this->registerService(Store::class, function (ContainerInterface $c) {
+			$session = $c->get(ISession::class);
+			if (\OC::$server->get(SystemConfig::class)->getValue('installed', false)) {
+				$tokenProvider = $c->get(IProvider::class);
 			} else {
 				$tokenProvider = null;
 			}
-			$logger = $c->getLogger();
+			$logger = $c->get(ILogger::class);
 			return new Store($session, $logger, $tokenProvider);
 		});
 		$this->registerAlias(IStore::class, Store::class);
 		$this->registerAlias(IProvider::class, Authentication\Token\Manager::class);
 
 		$this->registerService(\OC\User\Session::class, function (Server $c) {
-			$manager = $c->getUserManager();
+			$manager = $c->get(IUserManager::class);
 			$session = new \OC\Session\Memory('');
 			$timeFactory = new TimeFactory();
 			// Token providers might require a working database. This code
 			// might however be called when ownCloud is not yet setup.
-			if (\OC::$server->getSystemConfig()->getValue('installed', false)) {
-				$defaultTokenProvider = $c->query(IProvider::class);
+			if (\OC::$server->get(SystemConfig::class)->getValue('installed', false)) {
+				$defaultTokenProvider = $c->get(IProvider::class);
 			} else {
 				$defaultTokenProvider = null;
 			}
 
-			$legacyDispatcher = $c->getEventDispatcher();
+			$legacyDispatcher = $c->get(SymfonyAdapter::class);
 
 			$userSession = new \OC\User\Session(
 				$manager,
 				$session,
 				$timeFactory,
 				$defaultTokenProvider,
-				$c->getConfig(),
-				$c->getSecureRandom(),
+				$c->get(\OCP\IConfig::class),
+				$c->get(ISecureRandom::class),
 				$c->getLockdownManager(),
-				$c->getLogger(),
-				$c->query(IEventDispatcher::class)
+				$c->get(ILogger::class),
+				$c->get(IEventDispatcher::class)
 			);
 			$userSession->listen('\OC\User', 'preCreateUser', function ($uid, $password) {
 				\OC_Hook::emit('OC_User', 'pre_createUser', ['run' => true, 'uid' => $uid, 'password' => $password]);
 
 				/** @var IEventDispatcher $dispatcher */
-				$dispatcher = $this->query(IEventDispatcher::class);
+				$dispatcher = $this->get(IEventDispatcher::class);
 				$dispatcher->dispatchTyped(new BeforeUserCreatedEvent($uid, $password));
 			});
 			$userSession->listen('\OC\User', 'postCreateUser', function ($user, $password) {
@@ -526,7 +541,7 @@ class Server extends ServerContainer implements IServerContainer {
 				\OC_Hook::emit('OC_User', 'post_createUser', ['uid' => $user->getUID(), 'password' => $password]);
 
 				/** @var IEventDispatcher $dispatcher */
-				$dispatcher = $this->query(IEventDispatcher::class);
+				$dispatcher = $this->get(IEventDispatcher::class);
 				$dispatcher->dispatchTyped(new UserCreatedEvent($user, $password));
 			});
 			$userSession->listen('\OC\User', 'preDelete', function ($user) use ($legacyDispatcher) {
@@ -535,7 +550,7 @@ class Server extends ServerContainer implements IServerContainer {
 				$legacyDispatcher->dispatch('OCP\IUser::preDelete', new GenericEvent($user));
 
 				/** @var IEventDispatcher $dispatcher */
-				$dispatcher = $this->query(IEventDispatcher::class);
+				$dispatcher = $this->get(IEventDispatcher::class);
 				$dispatcher->dispatchTyped(new BeforeUserDeletedEvent($user));
 			});
 			$userSession->listen('\OC\User', 'postDelete', function ($user) {
@@ -543,7 +558,7 @@ class Server extends ServerContainer implements IServerContainer {
 				\OC_Hook::emit('OC_User', 'post_deleteUser', ['uid' => $user->getUID()]);
 
 				/** @var IEventDispatcher $dispatcher */
-				$dispatcher = $this->query(IEventDispatcher::class);
+				$dispatcher = $this->get(IEventDispatcher::class);
 				$dispatcher->dispatchTyped(new UserDeletedEvent($user));
 			});
 			$userSession->listen('\OC\User', 'preSetPassword', function ($user, $password, $recoveryPassword) {
@@ -551,7 +566,7 @@ class Server extends ServerContainer implements IServerContainer {
 				\OC_Hook::emit('OC_User', 'pre_setPassword', ['run' => true, 'uid' => $user->getUID(), 'password' => $password, 'recoveryPassword' => $recoveryPassword]);
 
 				/** @var IEventDispatcher $dispatcher */
-				$dispatcher = $this->query(IEventDispatcher::class);
+				$dispatcher = $this->get(IEventDispatcher::class);
 				$dispatcher->dispatchTyped(new BeforePasswordUpdatedEvent($user, $password, $recoveryPassword));
 			});
 			$userSession->listen('\OC\User', 'postSetPassword', function ($user, $password, $recoveryPassword) {
@@ -559,14 +574,14 @@ class Server extends ServerContainer implements IServerContainer {
 				\OC_Hook::emit('OC_User', 'post_setPassword', ['run' => true, 'uid' => $user->getUID(), 'password' => $password, 'recoveryPassword' => $recoveryPassword]);
 
 				/** @var IEventDispatcher $dispatcher */
-				$dispatcher = $this->query(IEventDispatcher::class);
+				$dispatcher = $this->get(IEventDispatcher::class);
 				$dispatcher->dispatchTyped(new PasswordUpdatedEvent($user, $password, $recoveryPassword));
 			});
 			$userSession->listen('\OC\User', 'preLogin', function ($uid, $password) {
 				\OC_Hook::emit('OC_User', 'pre_login', ['run' => true, 'uid' => $uid, 'password' => $password]);
 
 				/** @var IEventDispatcher $dispatcher */
-				$dispatcher = $this->query(IEventDispatcher::class);
+				$dispatcher = $this->get(IEventDispatcher::class);
 				$dispatcher->dispatchTyped(new BeforeUserLoggedInEvent($uid, $password));
 			});
 			$userSession->listen('\OC\User', 'postLogin', function ($user, $loginName, $password, $isTokenLogin) {
@@ -574,12 +589,12 @@ class Server extends ServerContainer implements IServerContainer {
 				\OC_Hook::emit('OC_User', 'post_login', ['run' => true, 'uid' => $user->getUID(), 'loginName' => $loginName, 'password' => $password, 'isTokenLogin' => $isTokenLogin]);
 
 				/** @var IEventDispatcher $dispatcher */
-				$dispatcher = $this->query(IEventDispatcher::class);
+				$dispatcher = $this->get(IEventDispatcher::class);
 				$dispatcher->dispatchTyped(new UserLoggedInEvent($user, $password, $isTokenLogin));
 			});
 			$userSession->listen('\OC\User', 'preRememberedLogin', function ($uid) {
 				/** @var IEventDispatcher $dispatcher */
-				$dispatcher = $this->query(IEventDispatcher::class);
+				$dispatcher = $this->get(IEventDispatcher::class);
 				$dispatcher->dispatchTyped(new BeforeUserLoggedInWithCookieEvent($uid));
 			});
 			$userSession->listen('\OC\User', 'postRememberedLogin', function ($user, $password) {
@@ -587,19 +602,19 @@ class Server extends ServerContainer implements IServerContainer {
 				\OC_Hook::emit('OC_User', 'post_login', ['run' => true, 'uid' => $user->getUID(), 'password' => $password]);
 
 				/** @var IEventDispatcher $dispatcher */
-				$dispatcher = $this->query(IEventDispatcher::class);
+				$dispatcher = $this->get(IEventDispatcher::class);
 				$dispatcher->dispatchTyped(new UserLoggedInWithCookieEvent($user, $password));
 			});
 			$userSession->listen('\OC\User', 'logout', function ($user) {
 				\OC_Hook::emit('OC_User', 'logout', []);
 
 				/** @var IEventDispatcher $dispatcher */
-				$dispatcher = $this->query(IEventDispatcher::class);
+				$dispatcher = $this->get(IEventDispatcher::class);
 				$dispatcher->dispatchTyped(new BeforeUserLoggedOutEvent($user));
 			});
 			$userSession->listen('\OC\User', 'postLogout', function ($user) {
 				/** @var IEventDispatcher $dispatcher */
-				$dispatcher = $this->query(IEventDispatcher::class);
+				$dispatcher = $this->get(IEventDispatcher::class);
 				$dispatcher->dispatchTyped(new UserLoggedOutEvent($user));
 			});
 			$userSession->listen('\OC\User', 'changeUser', function ($user, $feature, $value, $oldValue) {
@@ -607,7 +622,7 @@ class Server extends ServerContainer implements IServerContainer {
 				\OC_Hook::emit('OC_User', 'changeUser', ['run' => true, 'user' => $user, 'feature' => $feature, 'value' => $value, 'old_value' => $oldValue]);
 
 				/** @var IEventDispatcher $dispatcher */
-				$dispatcher = $this->query(IEventDispatcher::class);
+				$dispatcher = $this->get(IEventDispatcher::class);
 				$dispatcher->dispatchTyped(new UserChangedEvent($user, $feature, $value, $oldValue));
 			});
 			return $userSession;
@@ -638,9 +653,9 @@ class Server extends ServerContainer implements IServerContainer {
 
 		$this->registerService(IFactory::class, function (Server $c) {
 			return new \OC\L10N\Factory(
-				$c->getConfig(),
+				$c->get(\OCP\IConfig::class),
 				$c->getRequest(),
-				$c->getUserSession(),
+				$c->get(IUserSession::class),
 				\OC::$SERVERROOT
 			);
 		});
@@ -663,12 +678,13 @@ class Server extends ServerContainer implements IServerContainer {
 		$this->registerDeprecatedAlias('UserCache', ICache::class);
 
 		$this->registerService(Factory::class, function (Server $c) {
-			$arrayCacheFactory = new \OC\Memcache\Factory('', $c->getLogger(),
+			$arrayCacheFactory = new \OC\Memcache\Factory('', $c->get(ILogger::class),
 				ArrayCache::class,
 				ArrayCache::class,
 				ArrayCache::class
 			);
-			$config = $c->getConfig();
+			/** @var \OCP\IConfig $config */
+			$config = $c->get(\OCP\IConfig::class);
 
 			if ($config->getSystemValue('installed', false) && !(defined('PHPUNIT_RUN') && PHPUNIT_RUN)) {
 				$v = \OC_App::getAppVersions();
@@ -677,7 +693,7 @@ class Server extends ServerContainer implements IServerContainer {
 				$instanceId = \OC_Util::getInstanceId();
 				$path = \OC::$SERVERROOT;
 				$prefix = md5($instanceId . '-' . $version . '-' . $path);
-				return new \OC\Memcache\Factory($prefix, $c->getLogger(),
+				return new \OC\Memcache\Factory($prefix, $c->get(ILogger::class),
 					$config->getSystemValue('memcache.local', null),
 					$config->getSystemValue('memcache.distributed', null),
 					$config->getSystemValue('memcache.locking', null)
@@ -690,7 +706,7 @@ class Server extends ServerContainer implements IServerContainer {
 		$this->registerAlias(ICacheFactory::class, Factory::class);
 
 		$this->registerService('RedisFactory', function (Server $c) {
-			$systemConfig = $c->getSystemConfig();
+			$systemConfig = $c->get(SystemConfig::class);
 			return new RedisFactory($systemConfig);
 		});
 
@@ -698,9 +714,9 @@ class Server extends ServerContainer implements IServerContainer {
 			$l10n = $this->get(IFactory::class)->get('lib');
 			return new \OC\Activity\Manager(
 				$c->getRequest(),
-				$c->getUserSession(),
-				$c->getConfig(),
-				$c->query(IValidator::class),
+				$c->get(IUserSession::class),
+				$c->get(\OCP\IConfig::class),
+				$c->get(IValidator::class),
 				$l10n
 			);
 		});
@@ -716,11 +732,11 @@ class Server extends ServerContainer implements IServerContainer {
 
 		$this->registerService(AvatarManager::class, function (Server $c) {
 			return new AvatarManager(
-				$c->query(\OC\User\Manager::class),
+				$c->get(\OC\User\Manager::class),
 				$c->getAppDataDir('avatar'),
 				$c->getL10N('lib'),
-				$c->getLogger(),
-				$c->getConfig()
+				$c->get(ILogger::class),
+				$c->get(\OCP\IConfig::class)
 			);
 		});
 		$this->registerAlias(IAvatarManager::class, AvatarManager::class);
@@ -731,12 +747,12 @@ class Server extends ServerContainer implements IServerContainer {
 		$this->registerAlias(\OCP\Support\Subscription\IRegistry::class, \OC\Support\Subscription\Registry::class);
 
 		$this->registerService(\OC\Log::class, function (Server $c) {
-			$logType = $c->query(AllConfig::class)->getSystemValue('log_type', 'file');
-			$factory = new LogFactory($c, $this->getSystemConfig());
+			$logType = $c->get(AllConfig::class)->getSystemValue('log_type', 'file');
+			$factory = new LogFactory($c, $this->get(SystemConfig::class));
 			$logger = $factory->get($logType);
-			$registry = $c->query(\OCP\Support\CrashReport\IRegistry::class);
+			$registry = $c->get(\OCP\Support\CrashReport\IRegistry::class);
 
-			return new Log($logger, $this->getSystemConfig(), null, $registry);
+			return new Log($logger, $this->get(SystemConfig::class), null, $registry);
 		});
 		$this->registerAlias(ILogger::class, \OC\Log::class);
 		/** @deprecated 19.0.0 */
@@ -745,7 +761,7 @@ class Server extends ServerContainer implements IServerContainer {
 		$this->registerAlias(LoggerInterface::class, PsrLoggerAdapter::class);
 
 		$this->registerService(ILogFactory::class, function (Server $c) {
-			return new LogFactory($c, $this->getSystemConfig());
+			return new LogFactory($c, $this->get(SystemConfig::class));
 		});
 
 		$this->registerAlias(IJobList::class, \OC\BackgroundJob\JobList::class);
@@ -753,8 +769,8 @@ class Server extends ServerContainer implements IServerContainer {
 		$this->registerDeprecatedAlias('JobList', IJobList::class);
 
 		$this->registerService(IRouter::class, function (Server $c) {
-			$cacheFactory = $c->getMemCacheFactory();
-			$logger = $c->getLogger();
+			$cacheFactory = $c->get(ICacheFactory::class);
+			$logger = $c->get(ILogger::class);
 			if ($cacheFactory->isLocalCacheAvailable()) {
 				$router = new \OC\Route\CachingRouter($cacheFactory->createLocal('route'), $logger);
 			} else {
@@ -771,7 +787,7 @@ class Server extends ServerContainer implements IServerContainer {
 
 		$this->registerService(\OC\Security\RateLimiting\Backend\IBackend::class, function ($c) {
 			return new \OC\Security\RateLimiting\Backend\MemoryCache(
-				$this->getMemCacheFactory(),
+				$this->get(ICacheFactory::class),
 				new \OC\AppFramework\Utility\TimeFactory()
 			);
 		});
@@ -793,7 +809,7 @@ class Server extends ServerContainer implements IServerContainer {
 		$this->registerDeprecatedAlias('CredentialsManager', ICredentialsManager::class);
 
 		$this->registerService(IDBConnection::class, function (Server $c) {
-			$systemConfig = $c->getSystemConfig();
+			$systemConfig = $c->get(SystemConfig::class);
 			$factory = new \OC\DB\ConnectionFactory($systemConfig);
 			$type = $systemConfig->getValue('dbtype', 'sqlite');
 			if (!$factory->isValidType($type)) {
@@ -808,26 +824,26 @@ class Server extends ServerContainer implements IServerContainer {
 		$this->registerDeprecatedAlias('DatabaseConnection', IDBConnection::class);
 
 
-		$this->registerService(IClientService::class, function (Server $c) {
+		$this->registerService(IClientService::class, function (ContainerInterface $c) {
 			$user = \OC_User::getUser();
 			$uid = $user ? $user : null;
 			return new ClientService(
-				$c->getConfig(),
-				$c->getLogger(),
+				$c->get(\OCP\IConfig::class),
+				$c->get(ILogger::class),
 				new \OC\Security\CertificateManager(
 					$uid,
 					new View(),
-					$c->getConfig(),
-					$c->getLogger(),
-					$c->getSecureRandom()
+					$c->get(\OCP\IConfig::class),
+					$c->get(ILogger::class),
+					$c->get(ISecureRandom::class)
 				)
 			);
 		});
 		/** @deprecated 19.0.0 */
 		$this->registerDeprecatedAlias('HttpClientService', IClientService::class);
-		$this->registerService(IEventLogger::class, function (Server $c) {
+		$this->registerService(IEventLogger::class, function (ContainerInterface $c) {
 			$eventLogger = new EventLogger();
-			if ($c->getSystemConfig()->getValue('debug', false)) {
+			if ($c->get(SystemConfig::class)->getValue('debug', false)) {
 				// In debug mode, module is being activated by default
 				$eventLogger->activate();
 			}
@@ -836,9 +852,9 @@ class Server extends ServerContainer implements IServerContainer {
 		/** @deprecated 19.0.0 */
 		$this->registerDeprecatedAlias('EventLogger', IEventLogger::class);
 
-		$this->registerService(IQueryLogger::class, function (Server $c) {
+		$this->registerService(IQueryLogger::class, function (ContainerInterface $c) {
 			$queryLogger = new QueryLogger();
-			if ($c->getSystemConfig()->getValue('debug', false)) {
+			if ($c->get(SystemConfig::class)->getValue('debug', false)) {
 				// In debug mode, module is being activated by default
 				$queryLogger->activate();
 			}
@@ -851,15 +867,16 @@ class Server extends ServerContainer implements IServerContainer {
 		$this->registerDeprecatedAlias('TempManager', TempManager::class);
 		$this->registerAlias(ITempManager::class, TempManager::class);
 
-		$this->registerService(AppManager::class, function (Server $c) {
+		$this->registerService(AppManager::class, function (ContainerInterface $c) {
+			// TODO: use auto-wiring
 			return new \OC\App\AppManager(
-				$c->getUserSession(),
-				$c->getConfig(),
-				$c->query(\OC\AppConfig::class),
-				$c->getGroupManager(),
-				$c->getMemCacheFactory(),
-				$c->getEventDispatcher(),
-				$c->getLogger()
+				$c->get(IUserSession::class),
+				$c->get(\OCP\IConfig::class),
+				$c->get(\OC\AppConfig::class),
+				$c->get(IGroupManager::class),
+				$c->get(ICacheFactory::class),
+				$c->get(SymfonyAdapter::class),
+				$c->get(ILogger::class)
 			);
 		});
 		/** @deprecated 19.0.0 */
@@ -871,34 +888,38 @@ class Server extends ServerContainer implements IServerContainer {
 		$this->registerDeprecatedAlias('DateTimeZone', IDateTimeZone::class);
 
 		$this->registerService(IDateTimeFormatter::class, function (Server $c) {
-			$language = $c->getConfig()->getUserValue($c->getSession()->get('user_id'), 'core', 'lang', null);
+			$language = $c->get(\OCP\IConfig::class)->getUserValue($c->get(ISession::class)->get('user_id'), 'core', 'lang', null);
 
 			return new DateTimeFormatter(
-				$c->getDateTimeZone()->getTimeZone(),
+				$c->get(IDateTimeZone::class)->getTimeZone(),
 				$c->getL10N('lib', $language)
 			);
 		});
 		/** @deprecated 19.0.0 */
 		$this->registerDeprecatedAlias('DateTimeFormatter', IDateTimeFormatter::class);
 
-		$this->registerService(IUserMountCache::class, function (Server $c) {
-			$mountCache = new UserMountCache($c->getDatabaseConnection(), $c->getUserManager(), $c->getLogger());
+		$this->registerService(IUserMountCache::class, function (ContainerInterface $c) {
+			$mountCache = new UserMountCache(
+				$c->get(IDBConnection::class),
+				$c->get(IUserManager::class),
+				$c->get(ILogger::class)
+			);
 			$listener = new UserMountCacheListener($mountCache);
-			$listener->listen($c->getUserManager());
+			$listener->listen($c->get(IUserManager::class));
 			return $mountCache;
 		});
 		/** @deprecated 19.0.0 */
 		$this->registerDeprecatedAlias('UserMountCache', IUserMountCache::class);
 
-		$this->registerService(IMountProviderCollection::class, function (Server $c) {
+		$this->registerService(IMountProviderCollection::class, function (ContainerInterface $c) {
 			$loader = \OC\Files\Filesystem::getLoader();
-			$mountCache = $c->query(IUserMountCache::class);
+			$mountCache = $c->get(IUserMountCache::class);
 			$manager = new \OC\Files\Config\MountProviderCollection($loader, $mountCache);
 
 			// builtin providers
 
-			$config = $c->getConfig();
-			$logger = $c->getLogger();
+			$config = $c->get(\OCP\IConfig::class);
+			$logger = $c->get(ILogger::class);
 			$manager->registerProvider(new CacheMountProvider($config));
 			$manager->registerHomeProvider(new LocalHomeMountProvider());
 			$manager->registerHomeProvider(new ObjectHomeMountProvider($config));
@@ -911,18 +932,18 @@ class Server extends ServerContainer implements IServerContainer {
 
 		/** @deprecated 20.0.0 */
 		$this->registerDeprecatedAlias('IniWrapper', IniGetWrapper::class);
-		$this->registerService(IBus::class, function (Server $c) {
-			$busClass = $c->getConfig()->getSystemValue('commandbus');
+		$this->registerService(IBus::class, function (ContainerInterface $c) {
+			$busClass = $c->get(\OCP\IConfig::class)->getSystemValue('commandbus');
 			if ($busClass) {
 				[$app, $class] = explode('::', $busClass, 2);
-				if ($c->getAppManager()->isInstalled($app)) {
+				if ($c->get(IAppManager::class)->isInstalled($app)) {
 					\OC_App::loadApp($app);
-					return $c->query($class);
+					return $c->get($class);
 				} else {
 					throw new ServiceUnavailableException("The app providing the command bus ($app) is not enabled");
 				}
 			} else {
-				$jobList = $c->getJobList();
+				$jobList = $c->get(IJobList::class);
 				return new CronBus($jobList);
 			}
 		});
@@ -931,12 +952,12 @@ class Server extends ServerContainer implements IServerContainer {
 		$this->registerDeprecatedAlias('TrustedDomainHelper', TrustedDomainHelper::class);
 		/** @deprecated 19.0.0 */
 		$this->registerDeprecatedAlias('Throttler', Throttler::class);
-		$this->registerService('IntegrityCodeChecker', function (Server $c) {
+		$this->registerService('IntegrityCodeChecker', function (ContainerInterface $c) {
 			// IConfig and IAppManager requires a working database. This code
 			// might however be called when ownCloud is not yet setup.
-			if (\OC::$server->getSystemConfig()->getValue('installed', false)) {
-				$config = $c->getConfig();
-				$appManager = $c->getAppManager();
+			if (\OC::$server->get(SystemConfig::class)->getValue('installed', false)) {
+				$config = $c->get(\OCP\IConfig::class);
+				$appManager = $c->get(IAppManager::class);
 			} else {
 				$config = null;
 				$appManager = null;
@@ -947,13 +968,13 @@ class Server extends ServerContainer implements IServerContainer {
 				new FileAccessHelper(),
 				new AppLocator(),
 				$config,
-				$c->getMemCacheFactory(),
+				$c->get(ICacheFactory::class),
 				$appManager,
-				$c->getTempManager(),
-				$c->getMimeTypeDetector()
+				$c->get(ITempManager::class),
+				$c->get(IMimeTypeDetector::class)
 			);
 		});
-		$this->registerService(\OCP\IRequest::class, function ($c) {
+		$this->registerService(\OCP\IRequest::class, function (ContainerInterface $c) {
 			if (isset($this['urlParams'])) {
 				$urlParams = $this['urlParams'];
 			} else {
@@ -981,9 +1002,9 @@ class Server extends ServerContainer implements IServerContainer {
 						: '',
 					'urlParams' => $urlParams,
 				],
-				$this->getSecureRandom(),
-				$this->getConfig(),
-				$this->getCsrfTokenManager(),
+				$this->get(ISecureRandom::class),
+				$this->get(\OCP\IConfig::class),
+				$this->get(CsrfTokenManager::class),
 				$stream
 			);
 		});
@@ -992,20 +1013,20 @@ class Server extends ServerContainer implements IServerContainer {
 
 		$this->registerService(IMailer::class, function (Server $c) {
 			return new Mailer(
-				$c->getConfig(),
-				$c->getLogger(),
-				$c->query(Defaults::class),
-				$c->getURLGenerator(),
+				$c->get(\OCP\IConfig::class),
+				$c->get(ILogger::class),
+				$c->get(Defaults::class),
+				$c->get(IURLGenerator::class),
 				$c->getL10N('lib'),
-				$c->query(IEventDispatcher::class),
-				$c->getL10NFactory()
+				$c->get(IEventDispatcher::class),
+				$c->get(IFactory::class)
 			);
 		});
 		/** @deprecated 19.0.0 */
 		$this->registerDeprecatedAlias('Mailer', IMailer::class);
 
-		$this->registerService('LDAPProvider', function (Server $c) {
-			$config = $c->getConfig();
+		$this->registerService('LDAPProvider', function (ContainerInterface $c) {
+			$config = $c->get(\OCP\IConfig::class);
 			$factoryClass = $config->getSystemValue('ldapProviderFactory', null);
 			if (is_null($factoryClass)) {
 				throw new \Exception('ldapProviderFactory not set');
@@ -1014,20 +1035,20 @@ class Server extends ServerContainer implements IServerContainer {
 			$factory = new $factoryClass($this);
 			return $factory->getLDAPProvider();
 		});
-		$this->registerService(ILockingProvider::class, function (Server $c) {
+		$this->registerService(ILockingProvider::class, function (ContainerInterface $c) {
 			$ini = $c->get(IniGetWrapper::class);
-			$config = $c->getConfig();
+			$config = $c->get(\OCP\IConfig::class);
 			$ttl = $config->getSystemValue('filelocking.ttl', max(3600, $ini->getNumeric('max_execution_time')));
 			if ($config->getSystemValue('filelocking.enabled', true) or (defined('PHPUNIT_RUN') && PHPUNIT_RUN)) {
 				/** @var \OC\Memcache\Factory $memcacheFactory */
-				$memcacheFactory = $c->getMemCacheFactory();
+				$memcacheFactory = $c->get(ICacheFactory::class);
 				$memcache = $memcacheFactory->createLocking('lock');
 				if (!($memcache instanceof \OC\Memcache\NullCache)) {
 					return new MemcacheLockingProvider($memcache, $ttl);
 				}
 				return new DBLockingProvider(
-					$c->getDatabaseConnection(),
-					$c->getLogger(),
+					$c->get(IDBConnection::class),
+					$c->get(ILogger::class),
 					new TimeFactory(),
 					$ttl,
 					!\OC::$CLI
@@ -1042,10 +1063,10 @@ class Server extends ServerContainer implements IServerContainer {
 		/** @deprecated 19.0.0 */
 		$this->registerDeprecatedAlias('MountManager', IMountManager::class);
 
-		$this->registerService(IMimeTypeDetector::class, function (Server $c) {
+		$this->registerService(IMimeTypeDetector::class, function (ContainerInterface $c) {
 			return new \OC\Files\Type\Detection(
-				$c->getURLGenerator(),
-				$c->getLogger(),
+				$c->get(IURLGenerator::class),
+				$c->get(ILogger::class),
 				\OC::$configDir,
 				\OC::$SERVERROOT . '/resources/config/'
 			);
@@ -1063,13 +1084,13 @@ class Server extends ServerContainer implements IServerContainer {
 		/** @deprecated 19.0.0 */
 		$this->registerDeprecatedAlias('NotificationManager', \OCP\Notification\IManager::class);
 
-		$this->registerService(CapabilitiesManager::class, function (Server $c) {
-			$manager = new CapabilitiesManager($c->getLogger());
+		$this->registerService(CapabilitiesManager::class, function (ContainerInterface $c) {
+			$manager = new CapabilitiesManager($c->get(ILogger::class));
 			$manager->registerCapability(function () use ($c) {
-				return new \OC\OCS\CoreCapabilities($c->getConfig());
+				return new \OC\OCS\CoreCapabilities($c->get(\OCP\IConfig::class));
 			});
 			$manager->registerCapability(function () use ($c) {
-				return $c->query(\OC\Security\Bruteforce\Capabilities::class);
+				return $c->get(\OC\Security\Bruteforce\Capabilities::class);
 			});
 			return $manager;
 		});
@@ -1077,14 +1098,14 @@ class Server extends ServerContainer implements IServerContainer {
 		$this->registerDeprecatedAlias('CapabilitiesManager', CapabilitiesManager::class);
 
 		$this->registerService(ICommentsManager::class, function (Server $c) {
-			$config = $c->getConfig();
+			$config = $c->get(\OCP\IConfig::class);
 			$factoryClass = $config->getSystemValue('comments.managerFactory', CommentsManagerFactory::class);
 			/** @var \OCP\Comments\ICommentsManagerFactory $factory */
 			$factory = new $factoryClass($this);
 			$manager = $factory->getManager();
 
 			$manager->registerDisplayNameResolver('user', function ($id) use ($c) {
-				$manager = $c->getUserManager();
+				$manager = $c->get(IUserManager::class);
 				$user = $manager->get($id);
 				if (is_null($user)) {
 					$l = $c->getL10N('core');
@@ -1115,16 +1136,23 @@ class Server extends ServerContainer implements IServerContainer {
 				$classExists = false;
 			}
 
-			if ($classExists && $c->getConfig()->getSystemValue('installed', false) && $c->getAppManager()->isInstalled('theming') && $c->getTrustedDomainHelper()->isTrustedDomain($c->getRequest()->getInsecureServerHost())) {
+			if ($classExists && $c->get(\OCP\IConfig::class)->getSystemValue('installed', false) && $c->get(IAppManager::class)->isInstalled('theming') && $c->getTrustedDomainHelper()->isTrustedDomain($c->getRequest()->getInsecureServerHost())) {
 				return new ThemingDefaults(
-					$c->getConfig(),
+					$c->get(\OCP\IConfig::class),
 					$c->getL10N('theming'),
-					$c->getURLGenerator(),
-					$c->getMemCacheFactory(),
-					new Util($c->getConfig(), $this->getAppManager(), $c->getAppDataDir('theming')),
-					new ImageManager($c->getConfig(), $c->getAppDataDir('theming'), $c->getURLGenerator(), $this->getMemCacheFactory(), $this->getLogger(), $this->getTempManager()),
-					$c->getAppManager(),
-					$c->getNavigationManager()
+					$c->get(IURLGenerator::class),
+					$c->get(ICacheFactory::class),
+					new Util($c->get(\OCP\IConfig::class), $this->get(IAppManager::class), $c->getAppDataDir('theming')),
+					new ImageManager(
+						$c->get(\OCP\IConfig::class),
+						$c->getAppDataDir('theming'),
+						$c->get(IURLGenerator::class),
+						$this->get(ICacheFactory::class),
+						$this->get(ILogger::class),
+						$this->get(ITempManager::class)
+					),
+					$c->get(IAppManager::class),
+					$c->get(INavigationManager::class)
 				);
 			}
 			return new \OC_Defaults();
@@ -1132,10 +1160,10 @@ class Server extends ServerContainer implements IServerContainer {
 		$this->registerService(JSCombiner::class, function (Server $c) {
 			return new JSCombiner(
 				$c->getAppDataDir('js'),
-				$c->getURLGenerator(),
-				$this->getMemCacheFactory(),
-				$c->getSystemConfig(),
-				$c->getLogger()
+				$c->get(IURLGenerator::class),
+				$this->get(ICacheFactory::class),
+				$c->get(SystemConfig::class),
+				$c->get(ILogger::class)
 			);
 		});
 		$this->registerAlias(\OCP\EventDispatcher\IEventDispatcher::class, \OC\EventDispatcher\EventDispatcher::class);
@@ -1143,7 +1171,7 @@ class Server extends ServerContainer implements IServerContainer {
 		$this->registerDeprecatedAlias('EventDispatcher', \OC\EventDispatcher\SymfonyAdapter::class);
 		$this->registerAlias(EventDispatcherInterface::class, \OC\EventDispatcher\SymfonyAdapter::class);
 
-		$this->registerService('CryptoWrapper', function (Server $c) {
+		$this->registerService('CryptoWrapper', function (ContainerInterface $c) {
 			// FIXME: Instantiiated here due to cyclic dependency
 			$request = new Request(
 				[
@@ -1157,49 +1185,49 @@ class Server extends ServerContainer implements IServerContainer {
 						? $_SERVER['REQUEST_METHOD']
 						: null,
 				],
-				$c->getSecureRandom(),
-				$c->getConfig()
+				$c->get(ISecureRandom::class),
+				$c->get(\OCP\IConfig::class)
 			);
 
 			return new CryptoWrapper(
-				$c->getConfig(),
-				$c->getCrypto(),
-				$c->getSecureRandom(),
+				$c->get(\OCP\IConfig::class),
+				$c->get(ICrypto::class),
+				$c->get(ISecureRandom::class),
 				$request
 			);
 		});
 		/** @deprecated 19.0.0 */
 		$this->registerDeprecatedAlias('CsrfTokenManager', CsrfTokenManager::class);
-		$this->registerService(SessionStorage::class, function (Server $c) {
-			return new SessionStorage($c->getSession());
+		$this->registerService(SessionStorage::class, function (ContainerInterface $c) {
+			return new SessionStorage($c->get(ISession::class));
 		});
 		$this->registerAlias(\OCP\Security\IContentSecurityPolicyManager::class, ContentSecurityPolicyManager::class);
 		/** @deprecated 19.0.0 */
 		$this->registerDeprecatedAlias('ContentSecurityPolicyManager', ContentSecurityPolicyManager::class);
 
-		$this->registerService(\OCP\Share\IManager::class, function (Server $c) {
-			$config = $c->getConfig();
+		$this->registerService(\OCP\Share\IManager::class, function (IServerContainer $c) {
+			$config = $c->get(\OCP\IConfig::class);
 			$factoryClass = $config->getSystemValue('sharing.managerFactory', ProviderFactory::class);
 			/** @var \OCP\Share\IProviderFactory $factory */
 			$factory = new $factoryClass($this);
 
 			$manager = new \OC\Share20\Manager(
-				$c->getLogger(),
-				$c->getConfig(),
-				$c->getSecureRandom(),
-				$c->getHasher(),
-				$c->getMountManager(),
-				$c->getGroupManager(),
+				$c->get(ILogger::class),
+				$c->get(\OCP\IConfig::class),
+				$c->get(ISecureRandom::class),
+				$c->get(IHasher::class),
+				$c->get(IMountManager::class),
+				$c->get(IGroupManager::class),
 				$c->getL10N('lib'),
-				$c->getL10NFactory(),
+				$c->get(IFactory::class),
 				$factory,
-				$c->getUserManager(),
-				$c->getLazyRootFolder(),
-				$c->getEventDispatcher(),
-				$c->getMailer(),
-				$c->getURLGenerator(),
-				$c->getThemingDefaults(),
-				$c->query(IEventDispatcher::class)
+				$c->get(IUserManager::class),
+				$c->get(IRootFolder::class),
+				$c->get(SymfonyAdapter::class),
+				$c->get(IMailer::class),
+				$c->get(IURLGenerator::class),
+				$c->get('ThemingDefaults'),
+				$c->get(IEventDispatcher::class)
 			);
 
 			return $manager;
@@ -1230,31 +1258,39 @@ class Server extends ServerContainer implements IServerContainer {
 
 		$this->registerDeprecatedAlias('SettingsManager', \OC\Settings\Manager::class);
 		$this->registerAlias(\OCP\Settings\IManager::class, \OC\Settings\Manager::class);
-		$this->registerService(\OC\Files\AppData\Factory::class, function (Server $c) {
+		$this->registerService(\OC\Files\AppData\Factory::class, function (ContainerInterface $c) {
 			return new \OC\Files\AppData\Factory(
-				$c->getRootFolder(),
-				$c->getSystemConfig()
+				$c->get(IRootFolder::class),
+				$c->get(SystemConfig::class)
 			);
 		});
 
-		$this->registerService('LockdownManager', function (Server $c) {
+		$this->registerService('LockdownManager', function (ContainerInterface $c) {
 			return new LockdownManager(function () use ($c) {
-				return $c->getSession();
+				return $c->get(ISession::class);
 			});
 		});
 
-		$this->registerService(\OCP\OCS\IDiscoveryService::class, function (Server $c) {
-			return new DiscoveryService($c->getMemCacheFactory(), $c->getHTTPClientService());
+		$this->registerService(\OCP\OCS\IDiscoveryService::class, function (ContainerInterface $c) {
+			return new DiscoveryService(
+				$c->get(ICacheFactory::class),
+				$c->get(IClientService::class)
+			);
 		});
 
-		$this->registerService(ICloudIdManager::class, function (Server $c) {
+		$this->registerService(ICloudIdManager::class, function (ContainerInterface $c) {
 			return new CloudIdManager();
 		});
 
 		$this->registerAlias(\OCP\GlobalScale\IConfig::class, \OC\GlobalScale\Config::class);
 
-		$this->registerService(ICloudFederationProviderManager::class, function (Server $c) {
-			return new CloudFederationProviderManager($c->getAppManager(), $c->getHTTPClientService(), $c->getCloudIdManager(), $c->getLogger());
+		$this->registerService(ICloudFederationProviderManager::class, function (ContainerInterface $c) {
+			return new CloudFederationProviderManager(
+				$c->get(IAppManager::class),
+				$c->get(IClientService::class),
+				$c->get(ICloudIdManager::class),
+				$c->get(ILogger::class)
+			);
 		});
 
 		$this->registerService(ICloudFederationFactory::class, function (Server $c) {
@@ -1277,34 +1313,34 @@ class Server extends ServerContainer implements IServerContainer {
 		/** @deprecated 19.0.0 */
 		$this->registerDeprecatedAlias('Defaults', \OCP\Defaults::class);
 
-		$this->registerService(\OCP\ISession::class, function (SimpleContainer $c) {
-			return $c->query(\OCP\IUserSession::class)->getSession();
-		});
+		$this->registerService(\OCP\ISession::class, function (ContainerInterface $c) {
+			return $c->get(\OCP\IUserSession::class)->getSession();
+		}, false);
 
-		$this->registerService(IShareHelper::class, function (Server $c) {
+		$this->registerService(IShareHelper::class, function (ContainerInterface $c) {
 			return new ShareHelper(
-				$c->query(\OCP\Share\IManager::class)
+				$c->get(\OCP\Share\IManager::class)
 			);
 		});
 
-		$this->registerService(Installer::class, function (Server $c) {
+		$this->registerService(Installer::class, function (ContainerInterface $c) {
 			return new Installer(
-				$c->getAppFetcher(),
-				$c->getHTTPClientService(),
-				$c->getTempManager(),
-				$c->getLogger(),
-				$c->getConfig(),
+				$c->get(AppFetcher::class),
+				$c->get(IClientService::class),
+				$c->get(ITempManager::class),
+				$c->get(ILogger::class),
+				$c->get(\OCP\IConfig::class),
 				\OC::$CLI
 			);
 		});
 
-		$this->registerService(IApiFactory::class, function (Server $c) {
-			return new ApiFactory($c->getHTTPClientService());
+		$this->registerService(IApiFactory::class, function (ContainerInterface $c) {
+			return new ApiFactory($c->get(IClientService::class));
 		});
 
-		$this->registerService(IInstanceFactory::class, function (Server $c) {
-			$memcacheFactory = $c->getMemCacheFactory();
-			return new InstanceFactory($memcacheFactory->createLocal('remoteinstance.'), $c->getHTTPClientService());
+		$this->registerService(IInstanceFactory::class, function (ContainerInterface $c) {
+			$memcacheFactory = $c->get(ICacheFactory::class);
+			return new InstanceFactory($memcacheFactory->createLocal('remoteinstance.'), $c->get(IClientService::class));
 		});
 
 		$this->registerAlias(IContactsStore::class, ContactsStore::class);