Added added Touchable protocol. Reworked states to accomodate gestures