Modernisation of the SDK, uses namespaces, autoloading, and has support for Subscriptions