switch to java-style Handler implementation instead of dynamic interface coercion