.has() w/o arguments checks if any callbacks are attached

removed .size() and instead modified the .has() method to alternatively
accept no arguments to check if there are any callbacks attached or not

updated unit tests with .has() method