You can bake the cake layers and make the buttercream in advance. Wrap the cooled cake layers in plastic and freeze to keep them fresh (this can make frosting easier too). Let refrigerated buttercream come to room temperature (it can take a few hours) and remix until it's fluffy before using.