Flexible options implementation

What do you think?