Refactored to have posibility to return a converter delegate to reuse for increased performance