Battery constructor
Battery()
Implementation
// When a second instance is created, the first instance will not be able to listen to the
// EventChannel because it is overridden. Forcing the class to be a singleton class can prevent
// misuse of creating a second instance from a programmer.
factory Battery() {
_singleton ??= Battery._();
return _singleton!;
}