refactor polygon assembly code to separate class
simplify PolygonAssembler implementation