References to Interface from within itself.
Removed trailing whitespaces. Missing includes.