TODO
----
Code cleanup and separation of different classes into individual files.
Use pixmaps instead of images for reducing the drawing impact.