Added callable typehints, tests slightly fixed

Now `Component::on()` does'nt require test for non-existent callback — PHP will raise uncatchable error in this case