Why Use Interfaces