Reorganize options and factories

For review by @Ocramius