Software-Defined Reconfigurability, White Boxes, and Abstraction