Updated project structure, made listeners extend serializable