Move HashJoinable to its own file