Major revamp for better concurrency and convenience methods.