I think we are shooting ourself in the foot. Returning the interface would work fine IMO