use enum for state in LocalChannel