Changed interface to Calculate model so input is just via key() method.
Fixed percent logic.