Служба без сохранения состояния должна передавать все состояния при вызове соответствующего метода.Сама прикладная служба может иметь другие зависимости, которые могут быть введены.
Инверсия зависимостей - ваш друг, и я бы не рекомендовал класс static
.Скорее используйте некоторую инъекцию зависимостей с одноэлементным шаблоном, и если вы так склонны, я бы предложил использовать контейнер инъекций зависимостей, такой как Castle Windsor, StructureMap, Autofac, Ninject, Unity или SimpleInjector - я уверен, что есть и другие.
Если вы столкнетесь с синглетами, требующими состояния, у меня будет короткое видео об этом.