introduce observer pattern for project to fronend communication

lots of cleanup and deletions of quick'n'dirty implementations