protected abstract void Exit(Tick <T> tick);
public abstract void Close(Tick <T> tick);
protected abstract void Open(Tick <T> tick);
protected abstract NodeStatus Tick(Tick <T> tick);
//handle first enter event protected abstract void Enter(Tick <T> tick);