Refactor more boilerplate away