Remove mostly useless parameters
Factor out -displayedValue code. Check when a setter is available
Replace displayedValue with inputValue
Hide irrelevant information