Block a user
GetService(Type, obiect[]? args) and it's safer variant TryGetService() to enable consumers to request a service without needing to do reflection work themselves.
Services with dependency on another service which require arguments to be built will prevent the outer service from being built.