private void SendMessageCore(int recepient, int callId, int messageCode, object payload, int sender)
        {
            if (recepient < 1)
            {
                throw new ArgumentException("Invalid recepient: " + recepient.ToString());
            }

            Message message = new Message(messageCode, callId, payload, sender);

            IThread thread = _data.FindThreadByActor(recepient);

            if (thread != null)
            {
                thread.PostMessage(recepient, message);
            }
        }