Re-structure directories
Remove unnecessary #include <iosfwd>
Apply astyle --style=1tbs to source files
Refactor classes to apply NVI idiom