Re-commit (previous commit 13 didin't include all changed and new code).
[Added image upload from internal properties page. - see comments in
commit 13 for more details]