Added support for filtering. Useful if more than once iterface is registered of the same type