Basic completion.
Updating console.log usage to not throw if 'console' is not available. Improving asynchronous handling of completion triggering.
More sensible initial state.