Sometimes, especially when it comes to distributed systems, going from working solution to fast working solution requires full blown up redesign from scratch.