Added fordward declarations and removed includes in headers. Fixed problem with ChoiceDevice