Implemented the Observer pattern in the Phases

new interfaces between the model and the manager(s)
hier moet de .lock juist niet in de .gitignore. Omdat je hier wil dat ik bij een 'composer install' dezelfde versies van de vendors uitcheck als jij. In de Bundles wil je dat niet omdat de Bundles zelf versies zouden moeten hebben en dus altijd de laatste versies binnen de gedefinieerde composer.json van de Bundle binnen moet halen.