A different way of writing APIs for SilverStripe applications