added support for defining an interface as a sink and automatically obtaining sinks for all implementations