Interfaces: balancing debugging vs. customization