Лишний способ не накосячить. У объекта есть входы и выходы.
Проблема в том, что для вызывающего кода и кода внутри метода эти
понятия зеркальны. То что для среды вход, для объекта выход, и
наоборот. Это мне сейчас пришло в голову, я ранее писанный класс использовал, вход с выходом перепутал.