Fix and improvements relating to the port

- Fixed some issues with the port of the swap plugin
- Turns out that you can do a direct bind in the javascript version and it works fine
	- Unlike the coffeescript version that requires a late bind for some reason