All data modification in one transaction. (issue #3)
Human-fiendly support for keyboard interrupt. (issue #3)