Modularisation!

Got stuck while making things more goodlier.
Also tried FORWARD DECLARATIONS. It's pretty much lying to the compiler.
Oh well!