refactor FlowTableEntry as an independent class to enable customized  entry