Change value parameter in Grid constructor to take callable

Instead of invoking copy.copy on the value passed into the value
parameter in the Grid constructor make it a callable which returns the
object to populate in the cell.
Add exit placement