Let's simplify this by moving this into the constructor. Then we don't need the extra step in init nor the assert in every function.