Comments added/Clean code questions checked

Changes I made:
- changed method name 'snapshot' to 'takeSnapshot' (verb-construct for
method names)
- added comments throughout the project, hope they are proper and
understandable...
- refactored main method:
- intializeGUI method added
- registerEvents method added