Less indirection.
Clean up
use custom check call back if one is provided
use git pass through
Test that the check call back is made
custom apply callback