Stop using internal/external name as property name overrides it and prevents the code from working.
Make components a var so that it can be modified (isn't it a reference type?).