OnEnter in nested CSB files in custom Node subclasses

I’m using Cocos Studio 3.10 with Cocos2d-x 3.1 On my Scene I have character of class Character with child Node named “head”. Node named head has child node named “Mouth” of class Mouth. I prepared Character class which inherits from Node class and Mouth class which also subclasses Node class. I also prepared corresponding CharacterReader and MouthReader classes for loading prepared CSB files into Cocos. Both Character and Mouth Classes had overrided onEnter and update methods - onEnter is executing schedule update and update is performing some game logic operations. When I’m loading Scene that is containing those nodes both Character and Mouth onEnter methods should be called and update methods should start updating characters. However only Character onEnter is being called and character update method is starting to update node of Character class member. I was debugging what is actually happening during onEnter execution of Character class - and it looks like when Mouth::onEnter should be called Cocos2d executes Character::onEnter again. When I check isRunning() on Mouth nodes result is false. Calling resume does not help. What could be wrong here?
Here is my reader class.

//
//  CharacterReader.cpp
//  fun2oonx
//
//  Created by Milosz Milewski on 06/04/16.
//
//

#include "CharacterReader.hpp"

using namespace cocos2d;

static CharacterReader* _instanceCharacterReader = nullptr;

CharacterReader* CharacterReader::getInstance()
{
    if (!_instanceCharacterReader)
    {
        _instanceCharacterReader = new CharacterReader();
    }
    return _instanceCharacterReader;
}

void CharacterReader::purge()
{
    CC_SAFE_DELETE(_instanceCharacterReader);
}

Character* CharacterReader::createNodeWithFlatBuffers(const flatbuffers::Table *nodeOptions)
{
    Character* node = Character::create();
    setPropsWithFlatBuffers(node, nodeOptions);
    return node;
}