Rebuild with event-oriented architecture