Refactor pixel model & add directions control