refactored transition framework (now an actual framework)