Finish implementation for Question and Solution. Refactored enums and interface for better style.