Disk writes and reads should not be done on the main thread
Disk writes are currently synchronous, which is not what you expect from a framework aiming at being efficient. Disk operations needs to be done off the main thread, and operations completing need to signify the user that the operation is completed.