#storeProof && #hasProof functions are internal meaning only this contract and contracts deriving from it can use these methods.
#kill function only executable by the owner of this contract or derived contracts with the internal keyword. This function destroys the contract.