func WithProcess(process process.Service) Parameter {
	return parameterFunc(func(p *parameters) {
		p.process = process
	})
}
WithProcess sets the process manager for this module.
package standard
import (
	"github.com/attestantio/dirk/services/checker"
	"github.com/attestantio/dirk/services/fetcher"
	"github.com/attestantio/dirk/services/metrics"
	"github.com/attestantio/dirk/services/process"
	"github.com/attestantio/dirk/services/ruler"
	"github.com/attestantio/dirk/services/unlocker"
	"github.com/pkg/errors"
	"github.com/rs/zerolog"
)
type parameters struct {
	logLevel zerolog.Level
	monitor  metrics.AccountManagerMonitor
	checker  checker.Service
	fetcher  fetcher.Service
	ruler    ruler.Service
	unlocker unlocker.Service
	process  process.Service
}
type Parameter interface {
	apply(*parameters)
}
type parameterFunc func(*parameters)
func (f parameterFunc) apply(p *parameters) {
	f(p)
}
func WithLogLevel(logLevel zerolog.Level) Parameter {
	return parameterFunc(func(p *parameters) {
		p.logLevel = logLevel
	})
}
func WithMonitor(monitor metrics.AccountManagerMonitor) Parameter {
	return parameterFunc(func(p *parameters) {
		p.monitor = monitor
	})
}
func WithChecker(checker checker.Service) Parameter {
	return parameterFunc(func(p *parameters) {
		p.checker = checker
	})
}
func WithRuler(ruler ruler.Service) Parameter {
	return parameterFunc(func(p *parameters) {
		p.ruler = ruler
	})
}
func WithUnlocker(unlocker unlocker.Service) Parameter {
	return parameterFunc(func(p *parameters) {
		p.unlocker = unlocker
	})
}