* Follwoing convention, all interfaces are prefixed with IMyInterface