Rinse rice in a strainer until the water runs clear and allow to dry. In a skillet, heat oil over medium high heat. Add the dried rice and diced onions and fry until it reaches a golden brown color. Be sure to stir frequently to make sure it doesn't burn.
Next add in the tomato sauce and cook with the rice for 2 minutes. Then pour in the water. Season with onion powder, garlic powder, chicken bouillon powder, salt and pepper. Taste and adjust seasonings if needed.
Bring to a boil, then reduce to a simmer. Add in cilantro if desired and cover with foil and cover with a lid. Allow to cook on low for 20 minutes. After 20 minutes turn off the heat and allow to sit untouched for 5 minutes. Then fluff with a fork.
For the beans
Add rinsed beans to a saucepan. Then add water, garlic powder, onion powder, bay leaves and salt. Taste and adjust if needed. Allow beans to simmer for about 20 minutes of until tender.
For the Guacamole
Add ripe avocados mash until smooth. Mix in cilantro, red onion, lime juice, salt and pepper to a bowl. Taste and adjust seasonings, if necessary.
To Assemble
In a bowl layer rice, shredded Mexican beef, beans, shredded cheese, pico de gallo, guacamole, sour cream and your favorite hot sauce and enjoy!