Update components to use the new port api

This should fix #7.