add in missing state updates to Pipeline, make full_length method private