checked #2 : written extra unit test to check if non-implemented optional properties  no longer causes injection to throw an exception. close #2