- made Engine abstract to show the independence
- added startup-sequence to show the engines status
- made the example use the new structure