I still don't understand why battery needs all this configuration. The only part I see that would possibly need to be configurable is the charge level. It seems to be making a very simple problem quite complex...