Main refactoring
Fix incorrect user interrupt handling
Add recognized image object caching