function init(domainManager) {
    if (!domainManager.hasDomain("TernNodeDomain")) {
        domainManager.registerDomain("TernNodeDomain", {major: 0, minor: 1});
    }

    _domainManager = domainManager;

    domainManager.registerCommand(
        "TernNodeDomain",       // domain name
        "invokeTernCommand",    // command name
        invokeTernCommand,   // command handler function
        false,          // this command is synchronous in Node
        "Invokes a tern command on node",
        [{name: "commandConfig", // parameters
            type: "object",
            description: "Object containing tern command configuration"}]
    );

    domainManager.registerCommand(
        "TernNodeDomain",       // domain name
        "setInterface",    // command name
        setInterface,   // command handler function
        false,          // this command is synchronous in Node
        "Sets the shared message interface",
        [{name: "msgInterface", // parameters
            type: "object",
            description: "Object containing messageId enums"}]
    );

    domainManager.registerCommand(
        "TernNodeDomain",       // domain name
        "resetTernServer",    // command name
        resetTernServer,   // command handler function
        true,          // this command is synchronous in Node
        "Resets an existing tern server"
    );

    domainManager.registerEvent(
        "TernNodeDomain",     // domain name
        "data",   // event name
        [
            {
                name: "data",
                type: "Object",
                description: "data to be returned to main thread"
            }
        ]
    );
    setTimeout(checkInterfaceAndReInit, 1000);
}
Initialize the test domain with commands and events related to find in files.
@param {DomainManager} domainManager The DomainManager for the TernNodeDomain