in controllerLib.go when we init the package we create a map of functions that creates new instances of the designated Lib struct.
Not only does it waste memory but also prevent state conservation if a library needs to store a modified instance of one of it's internal variables