Remove most of the abstract methods in AbstractTable. Instead add abstract resolve()/asTable() method, that return the backing table.