Code cleanup, implemented teleports and buttons. Closes #17, closes #15, closes #1