Updated library precompilation definition.
Use object oriented programming, not modular (categories) and static methods (global state), in order to help with testing.