Cleaned up some interaction code, making interaction with IO blocks a bit more intuitive