Refactor results table into separate view component