With 4.3, CloudStack introduces a new concept called CallContext.  It is a little bit rehashed from UserContext in 4.2 but it's somewhat different.  This gives you some information about the what, why, and how about CallContext.

Why not UserContext

The usage of UserContext was inconsistent.  Sometimes, it's there, sometimes it's not there.  The account id can be changed by code at any time so some of the code just sets it themselves.  When the usage pattern of code is inconsistent, it basically means it's rather useless.  It's also rather misnamed.

Why CallContext

The idea for CallContext is to make the context of a call consistent and consistently available.  It guarantees the following things:

This means the following things for CloudStack code

What have been done and needs to be done.