I am not sure if the static here was intentional, but I bet it was not.
The static member makes it virtually impossible for two instances of AtCore to co-exist. Even though the architecture of the library itself seems to not have been though to allow multiple instances, now doing it would be a design flaw, as a library should never make assumptions about how applications use them.