# 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.
# 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.