Nice one. What is returned, if getOptions is called empty? I would suggest all options. I don't know anymore why optype and percolate are not stored as the other values. Probably some legacy code. This could also be merged.