Improve separation of concerns for API
Allow for multiple question types