introduce event bus via google guava
decouple code via file-saved and file-opened events
remove unfinished code