Refactored options normalization to be more generic