Mostly done with refactoring marker code into a pin class