tablemerger is now standalone class and a member to store state