avoid possible NPE
Removed Factory framework (might lead to bad design)
Added customizations which can partially override system components and resources
Merge branch 'develop' into docs
Docs...