updated project to work with Otto instead of regular callback/listeners