public bool ReleaseObjectToPosition(Vector3 position)
    {
        bool releaseSuccessful = true;

        if (grabbedObject.CheckForValidDrop(position))
        {
            state = States.None;
            grabbedObject.SetPosition(position);
            grabbedObject.PutDown();
            grabbedObject = null;
        }
        else
        {
            // TODO failure reason, could not place at specified location
            releaseSuccessful = false;
        }
        gameObject.GetComponent <ICanGrab>().FinishedAction(releaseSuccessful);
        return(releaseSuccessful);
    }