Use IQuestion instead of a hard-coded tw_question
Refactor so the useful bits for adding extra question types are in the base
Add question template objects, convert into data struct