Define call() as a normal Ruby function.

Also split the tests for it into several individual methods.