I made `Init` part of the interface to assure that the initialisation can fail. Which adds little to no value to the interface. Will remove it.