Make enum's parent an abstract class
Delete obsolete files
Replace Result with enum version
Cleanup Option specs
Cleanup file structure
Delete trailing whitespaces