I am so sorry you had to write all this stupid boilerplate yet again. Someday it will die.