Why aren't we using deferred binding instead of having ifs here and there?