it might make sense to look at the OptionResolver component here ..