How would you explain your architectural decisions and the trade-offs behind them at Persistent Systems?