1. For use with a battery monitoring system (BMS) having an application operable to measure current flow to a vehicle battery and a launcher operable to enable drivers utilized by the application, the BMS having a non-volatile memory and a volatile memory for storing code, the method comprising: storing application code for application functions capable of being called by the application to an application memory block of the non-volatile memory; storing launcher code for launcher functions capable of being called by the launcher to a launcher memory block of the non-volatile memory; storing shared code for an n number of shared functions capable of being called by the launcher and application to a shared memory block having an n number of locations of the non-volatile memory; re-compiling the shared code where at least the same n number of shared functions are still available one or more times; and storing one of an n number of shared function pointers within the shared memory block for each one of then number of shared functions, wherein each one of the n number of locations within the shared memory block remains dedicated to storing the same one of the n number of shared function pointers following each operation of re-compiling the shared code.