Picking/grid refactor

Big refactor adding picking and generifying many interfaces. Got grid up
and running.