Added Interceptor to handle logging and transactional behaviour
Updated to use Interceptors to handle transactions and some trace logging
Improved exception handling
Made Interceptors serializable