Refactoring. Start work on supporting animations