Only include what's actually needed in the headers. This causes of course some additional needed includes in some implementation files.