Better way to provide impementation class from interface