In progress: [Issue 125] Support for custom options.

Code cleanup.
7 files changed