Fix variable warnings
Remove redundant test
Fix uninitialized variable warning

This was caused by Source#== which uses @uri, so subclasses need to
define it.
Simplify Source#==, the case was unnecessary