Add producer functionality to Port component