Reorganize type
Rename order as position
Add self.position_path helper
Add ensure => positioned