Some cleanup and a minor interface change in Compound