Update the bm request procedure to take and run closures for handling successes and failures.
Added some documentation to the procedure.