WIP: client refactoring
WIP: client refactoring
WIP: client refactoring
WIP: client refactoring
WIP: client refactoring

Now uses 'toastr' for notifications.