feat: 3rd party component support

Closes #106