Move Posn to util package and add Callback interface