Having IntPtr handle constructors seem to give 1) better memory manamagement between .net objects and objective-c counterparts, 2) gives better native errors/stacktrace when memory problems occur
Allow for optional parameters in the Init by providing default values