The active object pattern