Inspector interface serializer
Possible bug:

If you get the value, targetAsInterface is initialized. One can then set the value to something that is not a Component. Like null. 

If you then get the value again, you'll get the old value of target recasted to TInterface. Seems to me that this violates what get and set are supposed to do.