current `owner` is an `Address`, how about making it an `Identity` so an contract can also be the owner