Initial commit of Model, Listener etc.