sure, the additional complication involved is due to the fact the the profile names used here are not equal the the option names. The reason behind not having the profile names as "job", "step", "item" etc., is not to conflict with any other bean that the job module would have with the same name. Also, to avoid this, I add the bean names with "xd." prefix, that way this could be safe.
I will add the @AssertTrue validation to verify the validity of the option names.