_foreachProperty now respects Instance Properties

Decided to make use of the PropListManager, to keep things consistent.
Refactored some code out of Application so we can share it.

Results are now predictable enough to properly unit-test.