cache and noselect_x weren't used
Switch from explicit plan to done_testing
Huge refactor
Mark lots of API private
Convert to Test::Fatal
Use a real class not MockObject for testing
Put state in the object
gitignore
Let Items have any user_data they want
Keep track of extra, nonselectable rows (for #enhance)
Confirm that $item->selected(1) works