Refactoring + adding sounds

- refactored a lot
- added playSounds( ) method
- can play sound triggered by events