added 2 dimensions (x and y) to a Mobile, abstracting position into a Position object. Modified Surfaces to handle the new logic