[eluser]TheFuzzy0ne[/eluser]
The added advantage of breaking it down, would be less memory consumption, but my advice would be that if it makes sense where everything is, and nothing seems out of place, just leave it as-is.
A lot of folks believe that a model should only handle a single table, but that's not always possible. For example, I have a statistics model, which uses just about every table in my database to generate it's statistics.
I think the definition of a library also varies from person to person. I tend to use helpers when I can, and only use a library when I require variables to be accessible to some of the functions. This means that all of your global variables are stored within the scope of the object, and you don't have to worry about naming clashes. Essentially, the library works as a name space. For me, it's the difference between having a load of documents on your desk in a big pile, and having those same documents filed in a filing cabinet.