There are several example code listings as part of the SDK, and together with documentation supplied with ViaVoice, they made a very good starting point for the ViaVoice interface class.
As the class becomes instantiated to an object, the constructor calls the connection method, which opens ViaVoice in order to set up and initialise the required parameters, such as the speaker model. Since the asynchronous method of communication is used, callbacks are then registered with ViaVoice and finally a speech recognition session is created with the engine.
As the session is started it is assumed that the microphone is turned off, preventing unnecessary processing of the audio input. This allows the other modules to initialise before any audio input is accepted, since the user must employ the application to enable processing of the audio channel.