Add a 'contains' helper function.
Remove unused macro.
A little preprocessor trick.

Fake method lookups, in a way.
Make DefaultTarget a local variable.