Added the new DecoratorInterface.
Decorators are now fed in, and represent an interface.