John did not killed Caleb, he saved him once and save him again when Caleb tried to fall on purpose. He wanted to test how good John was, Caleb did a creepy smirk the second time John was trying to pull him and that means that he understand that John was trustworthy and more deserving than himself. They both moved the piano then Caleb left, he left because John convinced him that he wasn't good for Ann. John was heartbroken after Ann went out to find Caleb so he went to the fountain then jumped. Ann saw him and was sad from what happened (she pushed the glass from the table part). Last part was John's soul watching Ann playing the piano. John looked happy, Caleb unknown, Ann lonely for being alone again. This is how I see what happened.