Add Type Hinting to anything that requires it

This also fixes some of the existing type hints that weren't properly name spaced.