Moved model into a factory. Moved methods from crate controller scope into model - better modularity. BUT... not quite working correctly at the moment when navigating back to crates from diff - and diff not working quite properly either when going to chip level.