move answer-model into package, improve reactive-model