Works on Symphony 2.3 and fixes all open issues (Attempt #2)

Had to create a new pull request because of the messy merge. At least the history is clean.