Heat coconut oil in a large heavy skillet over medium heat. Cook chicken until lightly browned, about 10 minutes. Reduce heat, and season with 1 teaspoon garam masala and a light sprinkle of cayenne.
Add onion and sauté until soft and translucent.
Stir in butter, lemon juice, ginger, garlic, 1 teaspoon garam masala, chili powder, cumin and bay leaf. Cook, stirring, for 1 minute. Add tomato sauce, and cook for 2 minutes, stirring frequently. Stir in coconut milk. Reduce heat to low, and simmer for 10 minutes, stirring frequently. Season with salt pepper. Remove from heat and set aside.
Mix together cornstarch and water, then stir into the sauce. Cook for 5 to 10 minutes, or until thickened.