Curious: why implement `ITableData` instead of deriving from the `TableData` class which has some properties already defined?