GAMES: a General-purpose Architectural model for Multi-Energy System engineering applications