Swipe implementation methods

This has been talked about a lot of the forum.

@Calendee has probably one of the better solutions to this, though I don’t believe it’s been looked at in quite a while