Rename plugins.py to plugin.py to avoid name clashes
Use thin snapshots, prepare for user defined snapshots
Allow user creating his own snapshots
Implement rolling back to custom snapshot