A JavaScript library which allows a developer to create and enforce interfaces between objects.