Creates Ray class to take some of Edge's resposibilities
Clarifies the naming for Edge's initial and terminal points
Updates TODO