# Functions

NewService creates a pointer to a new Service struct with the provided values.

# Constants

MsgServiceInitialized message to return when service has initialized.
MsgServiceInitializing message to return when service is initializing.
MsgServiceShutdown message to return when a service has shutdown.
MsgServiceShuttingDown message to return when a service is shutting down.
MsgServiceStarted message to return when service has started.
MsgServiceStarting message to return when service is starting up.

# Variables

ErrNilService is returned when service functions are called but the service is not instantiated.
ErrServiceAlreadyStarted message to return when a service is called to start but is already running.
ErrServiceAlreadyStopped message to return when a service is called to stop but is already stopped.
ErrServiceNilWaitGroup is returned when a service has nil wait group.
ErrServiceNotEnabled is returned when a service is called to start but is not enabled.
ErrServiceNotFound is returned when a service can not be found.
ErrSubsystemNotEnabled is returned when a subsystem can't be found.

# Structs

Service is the base type for all services defined in the project.

# Interfaces

IService exports an interface that is implemented by each Service.
IServiceManager exports an interface that is implemented by the engine to manage all services.