Currently the EmbeddedManagedProcess, which both the StandaloneServer and HostController extend, only contains a start() method which immediately returns. There should be a start(int timeout) which will wait the specified amount of time then throw an exception is the server was not successfully started within that time. A timeout of 0 or less would mean no timeout was specified and the start() method should just return immediately.
This could also be a setting on the new Configuration API so the default start() method would have a timeout associated with it. A value of 0 should be the default so there are no behavioral changes.