Would it make sense to also remove init() from the interface and integrate it into the constructor or is there a reason to keep them separate?