You can program procedurally in most OO languages, but the power of OO comes from the ability to inherit, encapsulate and abstract that procedural logic.
I think you are correct, a library should look a lot like a class. It should have its own scope and encapsulate logic behind functions with meaningful names.