New demo, all parameters inject by object, added itterator and array setter