tailoring cakejax for mvvm-like behavior, lots of work to (still broken) Hash class