Do not use a library without reading it's source code. Software problems are hard, and you can't hide from the complexity by letting someone else do the thinking. You have to know what the library author knows, so you can determine what's possible, and decide if the library provides you with the right abstraction.