Lightly butter a 9 x 9 pan, or use a non-stick pan.
Preheat oven to 350°F.
Slice the potatoes 1/4 inch thick.
Note: It's much faster to do this in a Cuisinart using a 6mm blade.
Chop onion and saute with olive oil in heavy skillet. Cook over low heat until translucent. Simmer cream in 3 quart sauce pan for 10-15 minutes. You want small bubbles, not big ones, or there's a risk of boiling over. You still have to watch it!
Note: You have to reduce the cream so it will have the desired consistency. It's better to do this in a saucepan where you can control the consistency than to bake the potatoes too long because the sauce is still watery.
Put a layer of potatoes in the pan. Top with some onions and any of the optional ingredients. Pour a small amount of the reduced cream on top. Repeat until there's no more ingredients.
Press down on the ingredients with your hands -- you don't want a lot of space between the potatoes. Top with the remaining cream.
Cover the pan with foil and bake about 45 minutes, or until the potatoes are tender to the fork.
If desired, you may top with Asiago, Parmesan and/or Romano cheese at this point. Put back into the oven and broil for 3 minutes, or until the cheese is bubbling and brown.