internal void AddUser(String key, DrawableBase user)
{
if(String.IsNullOrWhiteSpace(key))
throw new ArgumentNullException();
if(user == null)
throw new ArgumentNullException();
if(!Users.ContainsKey(key))
throw new ArgumentException("Attempt to add a user to an unknown key.");
if(Users[key] == null)
Users[key] = new List<DrawableBase>();
if(Users[key].Contains(user))
throw new ArgumentException("Attempt to register a duplicate user.");
Users[key].Add(user);
}