* CLI * Web App * Separated Web App front-end from Emulator+REST API for faster build/run cycle times. * Javalin or Spark Framework for REST API. * Some sort of queuing mechanism between UI and Emulator