Moved table definitions into their own classes and switched to just using a generic implementation of the input and bulk insert operations.