@Dr15Jones 
Dummy question for my education. By declaring the `initialize` function as `static`, you make it visible only in this compilation unit, i.e. this library, right? This way, you can use it only in this file to initialise the instances you need.
But, IIRC, in order to mark a function as having internal linkage, so that it cannot be referenced in other compilation units, we can use anonymous namespaces in C++. Is there any reason for choosing one approach w.r.t. another?