Usability

Please merge my changes so one can also pass List<Type> to the Initialize methods, not only Type[]. Furthermore, the IsInitialized property makes it possible to call Initialize only when it's necessary (instead of catching the exception).