Paypal IPN handling

Naming and the way you call these. Without the wrapper methods you'd be calling camel cased things with .call and that's not very clear. Also, you can't use ModuleName.Constant.call, you'd have to do ModuleName::Constant.call.

```ruby
DataTypes::IPN.create_order_created({...})
# vs.
DataTypes::IPN::OrderCreated.call({...})
```

The latter option is clearly alien ruby style code.