Move Models out into a models package
Extract interfaces for models and replace ListListener with ChangeListener for now