Looks good, but I'd implement this at `__construct`